Function at 0x40db00
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x838
mov eax, dword [0x43a050]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
mov dword [ebp - 0x818], eax
call esi
mov ebx, eax
mov eax, dword [edi + 0x10]
push eax
call esi
mov ecx, dword [edi + 0xc]
push ecx
mov dword [ebp - 0x830], eax
call esi
mov edx, dword [edi + 0x14]
push edx
mov dword [ebp - 0x820], eax
call esi
mov dword [ebp - 0x824], eax
mov eax, dword [edi + 0x18]
push eax
call esi
mov ecx, dword [edi + 0x1c]
push ecx
mov dword [ebp - 0x814], eax
call esi
mov edx, dword [edi + 0x20]
push edx
mov dword [ebp - 0x82c], eax
call esi
mov dword [ebp - 0x81c], eax
mov eax, dword [edi + 0x24]
push eax
call esi
mov ecx, dword [edi + 0x28]
push ecx
mov dword [ebp - 0x80c], eax
call esi
mov edx, dword [edi + 0x2c]
push edx
mov dword [ebp - 0x828], eax
call esi
mov dword [ebp - 0x808], eax
add eax, dword [ebp - 0x828]
add eax, dword [ebp - 0x80c]
add eax, dword [ebp - 0x81c]
add eax, dword [ebp - 0x82c]
add eax, dword [ebp - 0x814]
add eax, dword [ebp - 0x824]
add eax, dword [ebp - 0x820]
add eax, dword [ebp - 0x830]
add eax, ebx
lea eax, [eax + eax + 0x3a]
mov dword [ebp - 0x834], eax
add eax, 4
push eax
mov dword [ebp - 0x838], eax
call fcn.00419476
mov edx, dword [ebp - 0x834]
mov cl, byte [ebp + 0xc]
lea esi, [eax + 4]
mov dword [eax], 0
mov dword [esi], edx
mov edx, dword [ebp - 0x818]
mov dword [ebp - 0x810], eax
mov al, byte [ebp + 8]
mov byte [esi + 4], al
mov byte [esi + 5], cl
mov dword [esi + 6], ebx
add ebx, ebx
push ebx
push edx
add esi, 0xa
push esi
call fcn.0041c550
mov eax, dword [edi]
add esi, ebx
mov dword [esi], eax
mov ecx, dword [edi + 4]
mov dword [esi + 4], ecx
mov edx, dword [edi + 8]
mov eax, dword [ebp - 0x820]
mov dword [esi + 8], edx
lea ebx, [eax + eax]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0xc]
push ebx
push eax
add esi, 0x10
push esi
call fcn.0041c550
mov eax, dword [ebp - 0x830]
add esi, ebx
mov dword [esi], eax
mov ecx, dword [edi + 0x10]
lea ebx, [eax + eax]
push ebx
push ecx
add esi, 4
push esi
call fcn.0041c550
mov eax, dword [ebp - 0x824]
add esi, ebx
mov dword [esi], eax
mov edx, dword [edi + 0x14]
lea ebx, [eax + eax]
push ebx
push edx
add esi, 4
push esi
call fcn.0041c550
mov eax, dword [ebp - 0x814]
add esi, ebx
lea ebx, [eax + eax]
mov dword [esi], eax
mov eax, dword [edi + 0x18]
push ebx
push eax
add esi, 4
push esi
call fcn.0041c550
mov eax, dword [ebp - 0x82c]
add esi, ebx
add esp, 0x40
mov dword [esi], eax
mov ecx, dword [edi + 0x1c]
lea ebx, [eax + eax]
push ebx
push ecx
add esi, 4
push esi
call fcn.0041c550
mov eax, dword [ebp - 0x81c]
add esi, ebx
mov dword [esi], eax
mov edx, dword [edi + 0x20]
lea ebx, [eax + eax]
push ebx
push edx
add esi, 4
push esi
call fcn.0041c550
mov eax, dword [ebp - 0x80c]
add esi, ebx
lea ebx, [eax + eax]
mov dword [esi], eax
mov eax, dword [edi + 0x24]
push ebx
push eax
add esi, 4
push esi
call fcn.0041c550
mov eax, dword [ebp - 0x828]
add esi, ebx
mov dword [esi], eax
mov ecx, dword [edi + 0x28]
lea ebx, [eax + eax]
push ebx
add esi, 4
push ecx
push esi
call fcn.0041c550
mov eax, dword [ebp - 0x808]
add esi, ebx
lea edx, [eax + eax]
mov dword [esi], eax
mov eax, dword [edi + 0x2c]
push edx
push eax
add esi, 4
push esi
call fcn.0041c550
add esp, 0x3c
push str.TWEAKCUBE3_PROTECTOR_MEMORYFILE_NAME
push 0
push 0xf001f
mov bl, 1
call dword [sym.imp.KERNEL32.dll_OpenFileMappingW]
mov esi, eax
test esi, esi
jne 0x40dd57
push str.TWEAKCUBE3_PROTECTOR_MEMORYFILE_NAME
push 0x10000
push eax
push 4
push eax
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov esi, eax
xor bl, bl
push 0
push 0
push 0
push 0xf001f
push esi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x808], eax
test eax, eax
je 0x40dda6
test bl, bl
je 0x40dd82
mov ecx, dword [eax]
mov edx, dword [ebp - 0x810]
inc ecx
mov dword [edx], ecx
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp - 0x810]
push ecx
push edx
push eax
call fcn.0041c550
mov eax, dword [ebp - 0x808]
add esp, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
test bl, bl
je 0x40ddb1
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor ecx, ecx
push 0x7fe
push ecx
lea edx, [ebp - 0x802]
push edx
mov word [ebp - 0x804], cx
call fcn.0041c1a0
mov eax, dword [edi + 0x10]
movzx ecx, byte [ebp + 0xc]
mov edx, dword [ebp - 0x818]
push eax
movzx eax, byte [ebp + 8]
push ecx
push edx
push eax
push 0
lea ecx, [ebp - 0x804]
push str.SendData:version:_d_____d_s_d_s_n
push ecx
call fcn.0041b321
add esp, 0x28
lea edx, [ebp - 0x804]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.00418cd4
mov esp, ebp
pop ebp
ret