Function at 0x441570
Capabilities:
Access peb ldr_data
Get hostname
Get kernel32 base address
Rebuild import table

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x569fee
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x5d7008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x14], edi
push 0x100
lea eax, [edi + 8]
mov dword [edi], vtable.vncClient.0
push 0
push eax
call fcn.0053f2b0
xorps xmm0, xmm0
movups xmmword [edi + 0x2cc], xmm0
mov dword [edi + 0x370], 0
mov dword [edi + 0x2e0], 0
mov dword [edi + 0x2e8], 0
mov dword [edi + 0x2e4], 0
mov dword [edi + 0x354], 0
mov dword [edi + 0x2c4], 0
mov dword [edi + 0x2c8], 0
mov dword [edi + 0x2dc], 0
mov byte [edi + 0x2f4], 0
mov dword [edi + 0x2f8], 0
mov byte [edi + 0x2fc], 0
mov byte [edi + 0x374], 0
mov dword [edi + 0x300], 0
mov dword [edi + 0x304], 0
mov byte [edi + 0x308], 0
mov dword [edi + 0x30c], 0
mov byte [edi + 0x310], 0
mov dword [edi + 0x314], 0
mov byte [edi + 0x2ec], 0
mov dword [edi + 0x2f0], 0
mov dword [edi + 0x318], 6
mov dword [edi + 0x31c], 0xffffffff
mov dword [edi + 0x320], 0xffffffff
mov dword [edi + 0x324], 2
mov dword [edi + 0x328], 0
mov dword [edi + 0x32c], 0
mov dword [edi + 0x330], 0
mov dword [edi + 0x34c], 0
mov dword [edi + 0x350], 0
mov dword [ebp - 4], 0
lea ecx, [edi + 0x3b8]
add esp, 8
mov dword [edi + 0x39c], 0
mov dword [edi + 0x3a0], 0
mov dword [edi + 0x3a4], 0
mov dword [edi + 0x3a8], 0
call fcn.004286d0
mov dword [edi + method.vncClient::ClientUpdateTracker.virtual_0], vtable.vncClient::ClientUpdateTracker.0
mov dword [edi + 0x3e0], 0
push 0x584fd8
call fcn.0054cea1
add esp, 4
mov dword [edi + 0x3ec], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.GDI32.dll_CreateRectRgn]
mov dword [edi + 0x3e8], eax
lea esi, [edi + 0x3f8]
mov dword [ebp - 0x10], esi
mov eax, dword [0x5b8f00]
mov byte [esi], 0
mov dword [esi + 4], 0xa00000
mov dword [esi + 8], 0x200000
mov dword [esi + 0xc], 0x200000
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xa00000
mov dword [esi + 0x18], 0x200000
mov dword [esi + 0x1c], 0x200000
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], 0x1300000f
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0xf
mov byte [esi + 0x30], 0
mov byte [ebp - 4], 3
lea ecx, [esi + 0x50]
mov word [esi + 0x48], 0
mov dword [esi + 0x4c], 0
call fcn.0041ae30
lea ecx, [esi + 0x60]
mov byte [ebp - 4], 4
call fcn.0041ae30
mov dword [edi + 0x644], 0
mov dword [edi + 0x648], 0
mov dword [edi + 0x64c], 0
mov dword [edi + 0x650], 0
push str.USER32
mov dword [edi + 0x784], 0
mov dword [edi + 0x788], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [edi + 0x788], eax
test eax, eax
je 0x44183f
push 0x5c0c04
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x784], eax
mov dword [edi + 0x78c], 0
mov dword [edi + 0x79c], 0
mov dword [edi + 0x7a0], 0xf
mov byte [edi + 0x78c], 0
push 0x5c0c10
push 9
push 0x5d7d48
mov byte [ebp - 4], 7
call fcn.0041c960
xor eax, eax
mov dword [edi + 0x10c], 0
push 0xc8
mov dword [edi + 0x29c], 0
mov dword [edi + 0x384], 0
mov dword [edi + 0x3ac], 0
mov byte [edi + 0x3b1], 0
mov dword [edi + 0x3b2], eax
mov dword [edi + 0x388], eax
mov dword [edi + 0x3f0], eax
mov dword [edi + 0x3e4], eax
mov dword [edi + 0x3e0], edi
mov dword [edi + 0x3f4], eax
mov dword [edi + 0x398], 1
mov dword [edi + 0x468], eax
mov dword [edi + 0x46c], eax
mov dword [edi + 0x470], eax
mov dword [edi + 0x474], eax
mov dword [edi + 0x26c], eax
mov dword [edi + 0x270], eax
mov dword [edi + 0x274], eax
mov dword [edi + 0x278], eax
mov word [edi + 0x65c], ax
mov byte [edi + 0x65e], al
mov dword [edi + 0x49c], eax
call fcn.0053d643
mov dword [ebp - 0x10], eax
mov dword [eax], vtable.CZipUnZip32.0
mov dword [eax + 0x34], 0
mov dword [eax + 0x38], 0
mov dword [eax + 0x3c], 1
mov dword [eax + 0x40], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x58], 1
mov dword [eax + 0x5c], 0
mov dword [eax + 0x60], 0
mov dword [eax + 0x64], 0
mov dword [eax + 0x68], 0
mov dword [eax + 0x6c], 0
mov dword [eax + 0x70], 0
mov dword [eax + 0x78], 0
mov dword [eax + 0x7c], 0
mov dword [eax + 0x80], 0
mov dword [eax + 0x84], 0
mov dword [eax + 0x88], 0
mov dword [eax + 0x8c], 0
mov dword [eax + 0x74], 0
mov dword [eax + 0x98], 1
mov dword [eax + 0x9c], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x50], 0
mov byte [eax + 0xa0], 0x31
mov dword [eax + 0x90], 0
mov dword [eax + 0x94], 0
mov dword [edi + 0x4a0], eax
mov dword [edi + 0x604], 0
mov dword [edi + 0x608], 0
mov dword [edi + 0x60c], 0
mov dword [edi + 0x610], 0
mov dword [edi + 0x614], 0
mov dword [edi + 0x618], 0
mov word [edi + 0x61c], 0
mov byte [edi + 0x61f], 0
mov dword [edi + 0x620], 0xffffffff
mov byte [edi + 0x624], 0
mov dword [edi + 0x628], 0
mov dword [edi + 0x62c], 0
push 0x38
mov dword [edi + 0x630], 0
mov word [edi + 0x634], 0
mov byte [edi + 0x636], 0
mov dword [edi + 0x638], 0
mov dword [edi + 0x63c], 0
mov dword [edi + 0x640], 0
mov dword [edi + 0x484], 0
mov dword [edi + 0x488], 0
mov dword [edi + 0x490], 0
mov dword [edi + 0x48c], 0
mov dword [edi + 0x494], 0
mov dword [edi + 0x498], 0
mov dword [edi + 0x780], 0
mov dword [edi + 0x668], 0
mov dword [edi + 0x66c], 0
mov dword [edi + 0x660], 0
mov dword [edi + 0x664], 0
mov byte [edi + 0x675], 0
mov dword [edi + 0x77c], 0
call fcn.0053d643
mov esi, eax
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 8
push 0x4000
mov dword [esi], vtable.TextChat.0
mov dword [esi + 0xc], 0
mov dword [esi + 4], edi
mov byte [esi + 0x10], 0
mov byte [esi + 0x30], 0
call fcn.0053d681
push 0x4000
push 0
push eax
mov dword [esi + 0x14], eax
call fcn.0053f2b0
push 0x4000
call fcn.0053d681
push 0x4000
push 0
push eax
mov dword [esi + 0x18], eax
call fcn.0053f2b0
push 0x4000
call fcn.0053d681
push 0x4000
push 0
push eax
mov dword [esi + 0x1c], eax
call fcn.0053f2b0
add esp, 0x44
push 0x80
call fcn.0053d681
push 0x80
push 0
push eax
mov dword [esi + 0x20], eax
call fcn.0053f2b0
push 0x80
call fcn.0053d681
push 0x80
push 0
push eax
mov dword [esi + 0x24], eax
call fcn.0053f2b0
push 0x4000
call fcn.0053d681
push 0x4000
push 0
push eax
mov dword [esi + 0x28], eax
call fcn.0053f2b0
add esp, 0x30
mov dword [ebp - 0x10], 0x80
lea eax, [ebp - 0x10]
push eax
push dword [esi + 0x24]
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x441c46
cmp dword [ebp - 0x10], 0x80
jb 0x441c46
mov eax, dword [esi + 0x24]
mov byte [eax + 0x7c], 0x2e
mov eax, dword [esi + 0x24]
mov byte [eax + 0x7d], 0x2e
mov eax, dword [esi + 0x24]
mov byte [eax + 0x7e], 0x2e
mov eax, dword [esi + 0x24]
mov byte [eax + 0x7f], 0
push str.RICHED32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [esi + 0x2c], eax
test eax, eax
jne 0x441c6c
push 0x30
push 0x5e6778
mov edx, 0x5e6738
call fcn.004254b0
add esp, 8
mov dword [esi + 0x34], 0xffffffff
mov eax, edi
mov dword [edi + 0x670], esi
mov byte [edi + 0x674], 1
mov dword [edi + 0x2a8], 0
mov dword [edi + 0x280], 0
mov dword [edi + 0x294], 0
mov word [edi + 0x298], 0
mov dword [edi + 0x7a4], 0
mov word [edi + 0x7a8], 0
mov byte [edi + 0x61e], 0
mov dword [edi + 0x5fc], 0
mov dword [edi + 0x600], 0
mov dword [edi + 0x478], 0
mov dword [edi + 0x47c], 0
mov dword [edi + 0x480], 0
mov dword [edi + 0x38c], 0
mov dword [edi + 0x390], 0
mov dword [edi + 0x394], 0
mov byte [edi + 0x264], 0
mov dword [edi + 0x658], 1
mov dword [edi + 4], 0
mov dword [edi + 0x258], 0
mov byte [edi + 0x29a], 0
mov word [edi + 0x378], 0x100
mov byte [edi + 0x37a], 1
mov byte [edi + 0x2a0], 0
mov dword [edi + 0x2a4], 0
mov byte [edi + 0x108], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret