Function at 0x40bae0
Capabilities:
Copy file

Disassembly:
sub esp, 0x328
mov eax, dword [0x4946c0]
xor eax, esp
mov dword [esp + 0x324], eax
mov eax, dword [esp + 0x32c]
push ebx
push eax
mov dword [esp + 0x10], eax
lea eax, [esp + 0x14]
push str.Do_you_want_to_install_a__s.dll_proxy_for_this_game_
push eax
mov ebx, ecx
mov dword [esp + 0x10], 0
call fcn.00450b6c
add esp, 0xc
push 0x24
push str.DxWnd_proxy
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.0042ae63
cmp eax, 6
jne 0x40be16
mov edx, dword [ebx + 0x20]
push edi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x1032
push edx
call edi
test eax, eax
je 0x40be15
mov eax, dword [ebx + 0x20]
push ebp
push esi
push 2
push 0xffffffffffffffff
push 0x100c
push eax
call edi
mov ecx, dword [ebx + 0x20]
push 2
mov esi, eax
push esi
push 0x100c
push ecx
call edi
mov edx, esi
imul edx, edx, 0x584
lea edi, [edx + ebx]
lea ebp, [edi + 0x1d4bd]
mov eax, ebp
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40bb90
sub eax, edx
jne 0x40bba7
mov eax, esi
imul eax, eax, 0x1d4
lea ebp, [eax + ebx + 0x70]
cmp byte [edi + 0x1d5c2], 0
lea eax, [edi + 0x1d5c2]
jne 0x40bbdc
push ebp
lea ecx, [esp + 0x128]
push 0x105
push ecx
call fcn.004530e6
add esp, 0xc
lea edx, [esp + 0x124]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
jmp 0x40bbf2
push eax
lea eax, [esp + 0x128]
push 0x105
push eax
call fcn.004530e6
add esp, 0xc
lea ecx, [esp + 0x124]
push ecx
lea edx, [esp + 0x20]
push str._sdxwnd.dxw
push edx
call fcn.00450b6c
imul esi, esi, 0x1d4
mov eax, dword [edi + 0x1d9e4]
lea ebp, [esi + ebx]
lea edx, [ebp + 0x6c]
push 0
lea ecx, [edi + 0x1d46c]
push edx
lea esi, [esp + 0x30]
mov dword [esp + 0x28], eax
call fcn.0040a5c0
mov eax, dword [esp + 0x28]
mov esi, 0x8000000
add esp, 0x14
mov dword [edi + 0x1d9e4], eax
test dword [ebp + 0x1e4], esi
je 0x40bc54
lea eax, [esp + 0x1c]
call fcn.00408a30
test dword [ebp + 0x1dc], esi
je 0x40bc69
lea ecx, [esp + 0x1c]
push ecx
call fcn.00408a70
add esp, 4
lea esi, [esp + 0x1c]
call fcn.00407990
mov edi, dword [esp + 0x18]
push edi
lea edx, [esp + 0x128]
push edx
mov eax, esi
push 0x474890
push eax
call fcn.00450b6c
push edi
push 0x496388
lea ecx, [esp + 0x244]
push str._sproxy_s.dll
push ecx
call fcn.00450b6c
add esp, 0x20
push 0
mov edx, esi
mov esi, dword [sym.imp.KERNEL32.dll_CopyFileA]
push edx
lea eax, [esp + 0x234]
push eax
call esi
test eax, eax
jne 0x40bcc8
mov dword [esp + 0x10], 1
lea ecx, [esp + 0x124]
push ecx
lea edx, [esp + 0x20]
push str._sdxwnd.dll
push edx
call fcn.00450b6c
push 0x496388
lea eax, [esp + 0x23c]
push str._sdxwnd.dll
push eax
call fcn.00450b6c
add esp, 0x18
push 0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x234]
push edx
call esi
test eax, eax
jne 0x40bd13
or dword [esp + 0x10], 2
test byte [ebp + 0x1d0], 0x40
jne 0x40bd3d
test dword [ebp + 0x1dc], 0x800
jne 0x40bd3d
test dword [ebp + 0x1e0], 0x40000
jne 0x40bd3d
cmp byte [ebp + 0x204], 0
je 0x40bd88
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x20]
push str._sdisasm.dll
push ecx
call fcn.00450b6c
push 0x496388
lea edx, [esp + 0x23c]
push str._sdisasm.dll
push edx
call fcn.00450b6c
add esp, 0x18
push 0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x234]
push ecx
call esi
test eax, eax
jne 0x40bd88
or dword [esp + 0x10], 4
mov eax, dword [esp + 0x10]
pop esi
pop ebp
cmp eax, 4
ja case.default.0x40bd93
jmp dword [eax*4 + 0x40be30]
push edi
lea edx, [esp + 0x18]
push str.Proxy__s_installed_nQuit_DxWnd_or_stop_hook_before_running_the_program
push edx
call fcn.00450b6c
add esp, 0xc
jmp case.default.0x40bd93
push edi
push edi
lea eax, [esp + 0x1c]
push str.Proxy__s_install_failed_while_copying__s.dll_file_nCheck_files_on_game_folder
push eax
call fcn.00450b6c
add esp, 0x10
jmp case.default.0x40bd93
push edi
lea ecx, [esp + 0x18]
push str.Proxy__s_install_failed_while_copying_dxwnd.dll_file_nCheck_files_on_game_folder
push ecx
call fcn.00450b6c
add esp, 0xc
jmp case.default.0x40bd93
push edi
push edi
lea edx, [esp + 0x1c]
push str.Proxy__s_install_failed_while_copying__s.dll_and_dxwnd.dll_files_nCheck_files_on_game_folder
push edx
call fcn.00450b6c
add esp, 0x10
jmp case.default.0x40bd93
lea eax, [esp + 0x14]
push str.Proxy__s_install_failed_while_copying_disasm.dll_file_nCheck_files_on_game_folder
push eax
call fcn.00450b6c
add esp, 8
push 0
push str.DxWnd_Proxy
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebx
call fcn.0042ae63
pop edi
mov ecx, dword [esp + 0x328]
pop ebx
xor ecx, esp
call fcn.00450c28
add esp, 0x328
ret 4