Function at 0x401120
Capabilities:
Copy file
Get common file path

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0x514
lea eax, [esp + 0x410]
push ebx
push ebp
push esi
push edi
push 0x103
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edx, [esp + 0x218]
lea eax, [esp + 0x420]
push edx
push eax
call fcn.00401090
add esp, 8
lea ecx, [esp + 0x31c]
push 0x103
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea edx, [esp + 0x218]
lea eax, [esp + 0x114]
push edx
push eax
call edi
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x114]
push str._binary_
push ecx
call esi
lea edx, [esp + 0x114]
push str.newIME.ini
push edx
call esi
lea eax, [esp + 0x31c]
lea ecx, [esp + 0x10]
push eax
push ecx
call edi
lea edx, [esp + 0x10]
push 0x402118
push edx
call esi
lea eax, [esp + 0x10]
push str.newIME.ini
push eax
call esi
lea ecx, [esp + 0x10]
push ecx
call fcn.004010d0
mov ebx, dword [sym.imp.USER32.dll_MessageBoxA]
mov ebp, dword [sym.imp.KERNEL32.dll_CopyFileA]
add esp, 4
test eax, eax
je 0x401233
push 0x24
push 0x40210c
push 0x4020e8
push 0
call ebx
cmp eax, 6
jne 0x401268
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x118]
push edx
push eax
call ebp
test eax, eax
jne 0x401268
push 0x10
push 0x40210c
push 0x4020c0
push eax
call ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x514
ret
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x118]
push ecx
push edx
call ebp
test eax, eax
jne 0x401268
push 0x10
push 0x40210c
push 0x4020c0
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x514
ret
lea eax, [esp + 0x218]
lea ecx, [esp + 0x114]
push eax
push ecx
call edi
lea edx, [esp + 0x114]
push str._binary_
push edx
call esi
lea eax, [esp + 0x114]
push str.newIME.mb
push eax
call esi
lea ecx, [esp + 0x31c]
lea edx, [esp + 0x10]
push ecx
push edx
call edi
lea eax, [esp + 0x10]
push 0x402118
push eax
call esi
lea ecx, [esp + 0x10]
push str.newIME.mb
push ecx
call esi
lea edx, [esp + 0x10]
push edx
call fcn.004010d0
add esp, 4
test eax, eax
je 0x4012ff
push 0x24
push 0x40210c
push 0x402090
push 0
call ebx
cmp eax, 6
jne 0x401318
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x118]
push eax
push ecx
call ebp
test eax, eax
jne 0x401318
jmp 0x4013db
lea edx, [esp + 0x10]
push 0
lea eax, [esp + 0x118]
push edx
push eax
call ebp
test eax, eax
je 0x4013db
lea ecx, [esp + 0x218]
lea edx, [esp + 0x114]
push ecx
push edx
call edi
lea eax, [esp + 0x114]
push str._binary_
push eax
call esi
lea ecx, [esp + 0x114]
push str.newIME.ime
push ecx
call esi
lea edx, [esp + 0x31c]
lea eax, [esp + 0x10]
push edx
push eax
call edi
lea ecx, [esp + 0x10]
push 0x402118
push ecx
call esi
lea edx, [esp + 0x10]
push str.newIME.ime
push edx
call esi
lea eax, [esp + 0x10]
push eax
call fcn.004010d0
add esp, 4
test eax, eax
je 0x4013c6
push 0x24
push 0x40210c
push 0x402060
push 0
call ebx
cmp eax, 6
jne 0x4013f8
lea ecx, [esp + 0x10]
push 0
lea edx, [esp + 0x118]
push ecx
push edx
call ebp
test eax, eax
jne 0x4013f8
push 0x10
push 0x40210c
push 0x402038
push eax
call ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x514
ret
lea eax, [esp + 0x10]
push 0
lea ecx, [esp + 0x118]
push eax
push ecx
call ebp
test eax, eax
jne 0x4013f8
push 0x10
push 0x40210c
push 0x402010
push 0
call ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x514
ret
mov eax, dword [esp + 0x52c]
lea edx, [esp + 0x10]
push edx
push eax
call edi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x514
ret