Function at 0x41c150
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5bc
mov eax, dword [0x4921d0]
mov dword [ebp - 0x14], eax
push edi
mov dword [ebp - 0x5bc], ecx
lea eax, [ebp - 0x5b8]
push eax
mov ecx, dword [ebp - 0x5bc]
add ecx, 0x138
push ecx
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHEncrypt::MD5Encrypt_wchar_t_const___wchar_t__const_]
add esp, 8
lea edx, [ebp - 0x470]
push edx
mov eax, dword [ebp - 0x5bc]
add eax, 0x17a
push eax
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHEncrypt::MD5Encrypt_wchar_t_const___wchar_t__const_]
add esp, 8
mov cx, word [0x479e8c]
mov word [ebp - 0x428], cx
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x426]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x104
lea edx, [ebp - 0x428]
push edx
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHService::GetWorkDirectory_wchar_t__const__unsigned_short_int_]
add esp, 8
mov ax, word [0x479e90]
mov word [ebp - 0x220], ax
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x21e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x428]
push ecx
push 0x479e94
push 0x208
lea edx, [ebp - 0x220]
push edx
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
lea eax, [ebp - 0x220]
push eax
push 0
push str.ChannelType
push 0x479ecc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov byte [ebp - 0xd], al
mov ecx, dword [ebp + 8]
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 4]
mov dword [edx], 0x6010001
mov eax, dword [ebp - 4]
add eax, 4
push eax
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHService::GetMachineIDEx_wchar_t__const_]
add esp, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x5bc]
mov ax, word [edx + 0x74]
mov word [ecx + 0xca], ax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x5bc]
mov al, byte [edx + 0x76]
mov byte [ecx + 0xcc], al
push 0x20
mov ecx, dword [ebp - 0x5bc]
add ecx, 0x78
push ecx
mov edx, dword [ebp - 4]
add edx, 0xcd
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x20
mov eax, dword [ebp - 0x5bc]
add eax, 0xb8
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x10d
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x20
mov edx, dword [ebp - 0x5bc]
add edx, 0xf8
push edx
mov eax, dword [ebp - 4]
add eax, 0x14d
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x21
lea ecx, [ebp - 0x5b8]
push ecx
mov edx, dword [ebp - 4]
add edx, 0x46
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x21
lea eax, [ebp - 0x470]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x88
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x13
mov edx, dword [ebp - 0x5bc]
add edx, 0x1bc
push edx
mov eax, dword [ebp - 4]
add eax, 0x18d
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0x10
mov ecx, dword [ebp - 0x5bc]
add ecx, 0x1e2
push ecx
mov edx, dword [ebp - 4]
add edx, 0x1b3
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
push 0xc
mov eax, dword [ebp - 0x5bc]
add eax, 0x202
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x1d3
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov edx, dword [ebp - 4]
mov al, byte [ebp + 0x10]
mov byte [edx + 0x1eb], al
mov ecx, dword [ebp - 4]
mov dl, byte [ebp - 0xd]
mov byte [ecx + 0x1ec], dl
push 0x100
push 0
lea eax, [ebp - 0x570]
push eax
call sub.MSVCR71.dll_memset
add esp, 0xc
push 0x42
push 0
mov ecx, dword [ebp - 4]
add ecx, 0x1ed
push ecx
call sub.MSVCR71.dll_memset
add esp, 0xc
mov edx, dword [ebp - 4]
add edx, 0xcd
push edx
push str._s31d7pG9R4Q.TcVDK
push 0x100
lea eax, [ebp - 0x570]
push eax
call dword [sym.imp.MSVCR71.dll__snwprintf]
add esp, 0x10
mov ecx, dword [ebp - 4]
add ecx, 0x1ed
push ecx
lea edx, [ebp - 0x570]
push edx
call dword [sym.imp.ServiceCore.dll_public:_static_bool___cdecl_CWHEncrypt::MD5Encrypt_wchar_t_const___wchar_t__const_]
add esp, 8
call dword [sym.imp.PlatformData.dll_public:_static_class_CGlobalUserInfo____cdecl_CGlobalUserInfo::GetInstance_void_]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
call dword [sym.imp.PlatformData.dll_public:_struct_tagGlobalUserData____thiscall_CGlobalUserInfo::GetGlobalUserData_void_]
mov dword [ebp - 8], eax
push 0x21
mov eax, dword [ebp - 4]
add eax, 0x46
push eax
mov ecx, dword [ebp - 8]
add ecx, 0x90
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ax, 0x22f
mov ecx, dword [ebp - 0x14]
call fcn.0046c78d
pop edi
mov esp, ebp
pop ebp
ret 0xc