Function at 0x402300
Capabilities:
Copy file
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x40420c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x450
mov eax, dword [0x407060]
push ebx
push esi
mov esi, dword [ebp + 8]
xor eax, ebp
xor ebx, ebx
cmp esi, ebx
push edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x454], eax
jne 0x402348
mov eax, 1
jmp 0x402537
push esi
call fcn.00401b20
add esp, 4
test eax, eax
je 0x40235c
xor eax, eax
jmp 0x402537
cmp dword [ebp + 0xc], ebx
mov dword [esp + 0x1c], ebx
je 0x402380
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.004035a0
add esp, 8
test eax, eax
jne 0x402380
mov eax, dword [esp + 0x1c]
jmp 0x402537
call fcn.00403b0b
test eax, eax
je 0x402393
mov eax, 7
jmp 0x402537
call fcn.00401950
cmp eax, ebx
jne 0x402537
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x20]
push ecx
push esi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], ebx
call fcn.0040378a
add esp, 0x14
test eax, eax
je 0x4023db
mov eax, 0xa
jmp 0x402537
mov word [esp + 0x40], bx
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x42]
rep stosd dword es:[edi], eax
push 0x4054d4
lea ecx, [esp + 0x28]
stosw word es:[edi], ax
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea edx, [esp + 0x24]
push edx
mov dword [esp + 0x468], ebx
call fcn.00403d49
add esp, 4
test eax, eax
lea ecx, [esp + 0x24]
jne 0x402435
mov dword [esp + 0x464], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 8
jmp 0x402537
call dword [sym.imp.MSVCP71.dll_public:_wchar_t_const____thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::c_str_void_const]
push eax
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.MSVCR71.dll_wcscpy]
mov edi, dword [sym.imp.MSVCR71.dll_wcscat]
lea ecx, [esp + 0x48]
push str.Thunder_Network
push ecx
call edi
add esp, 0x10
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea edx, [esp + 0x44]
push edx
call ebx
lea eax, [esp + 0x40]
push str.NetMon
push eax
call edi
add esp, 8
push 0
lea ecx, [esp + 0x44]
push ecx
call ebx
mov edx, dword [esp + 0x18]
xor eax, eax
mov word [esp + 0x248], 0
mov ecx, 0x81
lea edi, [esp + 0x24a]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x10]
push edx
mov edx, dword [esp + 0x18]
stosw word es:[edi], ax
mov eax, dword [esp + 0x24]
push eax
push ecx
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x25c]
push str._s_speed_viewer_d._d._d._d.dll
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
push 0
lea edx, [esp + 0x24c]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x248]
push eax
call fcn.0040383d
add esp, 4
test eax, eax
jne 0x40250e
lea ecx, [esp + 0x24]
mov dword [esp + 0x464], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, 0xd
jmp 0x402537
lea ecx, [esp + 0x248]
push ecx
call fcn.00401d90
add esp, 4
lea ecx, [esp + 0x24]
mov esi, eax
mov dword [esp + 0x464], 0xffffffff
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, esi
mov ecx, dword [esp + 0x45c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x454]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00403dfb
mov esp, ebp
pop ebp
ret