Function at 0x40d7b0
Capabilities:
Extract resource via kernel32 functions
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x47e064]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov eax, ecx
push esi
push edi
push 0
lea ebx, [eax + 4]
mov dword [ebp - 0x60], eax
mov ecx, ebx
call fcn.0040bf70
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.LICENSE
push 0x46b49c
push 0
call edi
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
push esi
push 0
call edi
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov dword [ebp - 0x68], eax
call edi
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
test edi, edi
je 0x40d854
cmp dword [ebp - 0x68], 0
je 0x40d854
lea ecx, [edi + 1]
push ecx
call fcn.0042cd58
push edi
push dword [ebp - 0x68]
mov esi, eax
push esi
call fcn.0042ec90
add esp, 0x10
mov byte [esi + edi], 0
push esi
push 0x3f7
push dword [ebx]
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
push 1
push esi
call fcn.0042cd4a
add esp, 8
mov esi, dword [0x47f5b0]
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push 0xc
call ebx
push eax
push 0xb
call ebx
mov ebx, dword [sym.imp.USER32.dll_LoadImageW]
push eax
push 1
push 0x80
push esi
call ebx
mov edi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
mov eax, dword [ebp - 0x60]
push 1
push 0x80
push dword [eax + 4]
call edi
mov esi, dword [0x47f5b0]
push 0
push 0x32
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 1
push 0x80
push esi
call ebx
mov esi, dword [ebp - 0x60]
push eax
push 0
push 0x80
push dword [esi + 4]
lea ebx, [esi + 4]
call edi
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageW]
push 0x3e80000
push 0
push 0x401
push 0x3ed
push dword [ebx]
call edi
mov edx, dword [esi + 0x24]
add edx, 0x48
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x60], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40d8f2
sub ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x64], edx
push eax
mov dword [ebp - 0x60], ecx
call fcn.00401300
push eax
lea eax, [ebp - 0x5c]
push str.C:SysGCC_
push eax
call fcn.004032c0
add esp, 0x14
mov ecx, 0x4777b4
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
push 0x3e8
push dword [ebx]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x40d952
lea ecx, [ebp - 0x50]
cmp eax, ecx
je 0x40d952
push eax
call fcn.0043817b
add esp, 4
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40d969
lea ecx, [ebp - 0x24]
cmp eax, ecx
je 0x40d969
push eax
call fcn.0043817b
add esp, 4
push 0
push 1
push 0xf1
push 0x3ec
push dword [ebx]
call edi
push 0
push 1
push 0xf1
push 0x3ee
push dword [ebx]
call edi
push 0
push 0x64
push 0x7b
push dword [ebx]
call dword [sym.imp.USER32.dll_SetTimer]
push 0
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push str.SOFTWARE
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jle 0x40d9d1
movzx eax, ax
or eax, 0x80070000
mov ecx, dword [esi + 4]
push 0
push 1
push 0xf1
test eax, eax
jns 0x40d9ef
push 0x3e9
push ecx
call edi
mov byte [esi + 0x28], 1
jmp 0x40d9f7
push 0x3ea
push ecx
call edi
push 1
push dword [ebx]
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push str.Calibri
push 0
push 4
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0xffffffffffffffd8
call dword [sym.imp.GDI32.dll_CreateFontW]
push 1
push eax
push 0x30
push 0x3f0
push dword [ebx]
call edi
mov eax, dword [esi + 0x24]
add eax, 0x48
push eax
lea eax, [ebp - 0x30]
push str.GNU_toolchain_for__S
push eax
call fcn.0040b5a0
add esp, 0xc
mov edi, 0x4777b4
mov ecx, edi
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
push 0x3f0
push dword [ebx]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40da88
lea ecx, [ebp - 0x24]
cmp eax, ecx
je 0x40da88
push eax
call fcn.0043817b
add esp, 4
mov edx, dword [esi + 0x24]
add edx, 0x78
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x60], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40da96
sub ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x64], edx
push eax
mov dword [ebp - 0x60], ecx
call fcn.00401300
add esp, 8
mov ecx, edi
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
push 0x3f1
push dword [ebx]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40dae4
lea ecx, [ebp - 0x24]
cmp eax, ecx
je 0x40dae4
push eax
call fcn.0043817b
add esp, 4
mov edx, dword [esi + 0x24]
add edx, 0x58
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x60], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40daf2
sub ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x64], edx
push eax
mov dword [ebp - 0x60], ecx
call fcn.00401300
add esp, 8
mov ecx, edi
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
push 0x3f2
push dword [ebx]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40db40
lea ecx, [ebp - 0x24]
cmp eax, ecx
je 0x40db40
push eax
call fcn.0043817b
add esp, 4
mov edx, dword [esi + 0x24]
add edx, 0x68
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x60], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40db50
sub ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x30]
mov dword [ebp - 0x64], edx
push eax
mov dword [ebp - 0x60], ecx
call fcn.00401300
add esp, 8
mov ecx, edi
mov eax, dword [eax]
test eax, eax
cmovne ecx, eax
push ecx
push 0x3f3
push dword [ebx]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40db9e
lea ecx, [ebp - 0x24]
cmp eax, ecx
je 0x40db9e
push eax
call fcn.0043817b
add esp, 4
mov edx, dword [esi + 0x24]
add edx, 0x88
cmp byte [edx], 0
je 0x40dbfe
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40dbb1
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], edx
push eax
lea eax, [ebp - 0x30]
sub ecx, esi
push eax
mov dword [ebp - 0x60], ecx
call fcn.00401300
add esp, 8
mov eax, dword [eax]
test eax, eax
cmovne edi, eax
push edi
push 0x3f4
push dword [ebx]
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40dc26
lea ecx, [ebp - 0x24]
cmp eax, ecx
je 0x40dc26
push eax
call fcn.0043817b
add esp, 4
jmp 0x40dc26
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3f5
push dword [ebx]
call edi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 0
push eax
call esi
push 0x3f4
push dword [ebx]
call edi
push 0
push eax
call esi
push dword [ebp - 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042d480
mov esp, ebp
pop ebp
ret 0x10