Function at 0x44bc10
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d582d
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x517b80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x3c], eax
test eax, eax
lea edi, [eax - 0x1c]
mov ecx, 4
cmove edi, ecx
push 0xe801
mov dword [ebp - 0x40], edi
push dword [edi]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x44bc70
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
mov esi, dword [ebp - 0x3c]
mov eax, dword [esi]
test eax, eax
je 0x44bc88
push eax
call fcn.004b4707
add esp, 4
mov dword [esi], 0
mov dword [esi + 4], 0
xorps xmm0, xmm0
mov dword [esi + 8], 0
movlpd qword [ebp - 0x48], xmm0
mov dword [esi + 0x14], 0xffffffff
mov dword [esi + 0x18], 0xffffffff
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov byte [esi + 0x1c], 0
mov dword [ebp - 0x48], 0
movzx eax, word [esi + 0x20]
push 0x4e5014
push eax
push dword [0x52f1b0]
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.DLL_FindResourceW]
mov esi, eax
mov dword [ebp - 0x44], esi
test esi, esi
je 0x44be75
push esi
push dword [0x52f1b0]
call dword [sym.imp.KERNEL32.DLL_LoadResource]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x44be6e
push esi
push dword [0x52f1b0]
call dword [sym.imp.KERNEL32.DLL_SizeofResource]
shr eax, 1
mov dword [ebp - 0x50], eax
cmp eax, 1
jbe 0x44be75
lea eax, [ebp - 0x20]
xorps xmm0, xmm0
push eax
push dword [edi]
movups xmmword [ebp - 0x20], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push dword [ebp - 0x48]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
mov dword [ecx + 0x10], eax
call dword [sym.imp.KERNEL32.DLL_LockResource]
mov edi, eax
cmp word [edi], 0
jne 0x44be5b
mov eax, dword [ebp - 0x40]
push 5
push dword [eax]
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
xor eax, eax
mov dword [ebp - 0x4c], eax
add edi, 6
test esi, esi
je 0x44be5b
mov ah, byte [edi - 4]
test ah, ah
js 0x44bd8a
cmp ah, 0x64
jle 0x44bd8d
or ah, 0xff
mov dl, byte [edi - 2]
test dl, dl
js 0x44bd99
cmp dl, 0x64
jle 0x44bd9c
or dl, 0xff
mov cl, byte [edi]
test cl, cl
js 0x44bda7
cmp cl, 0x64
jle 0x44bdaa
or cl, 0xff
mov al, byte [edi + 2]
test al, al
js 0x44bdb5
cmp al, 0x64
jle 0x44bdb7
or al, 0xff
cmp ah, 0xff
je 0x44bdce
cmp dl, 0xff
je 0x44bdce
cmp cl, 0xff
je 0x44bdce
cmp al, 0xff
je 0x44bdce
mov dh, 1
jmp 0x44bdd0
xor dh, dh
test ah, ah
jne 0x44bde4
test dl, dl
jne 0x44bde4
test cl, cl
jne 0x44bde4
test al, al
jne 0x44bde4
xor ch, ch
jmp 0x44bde6
mov ch, 1
test dh, dh
je 0x44be3d
test ch, ch
je 0x44be3d
mov byte [ebp - 0x34], ah
xorps xmm0, xmm0
mov byte [ebp - 0x31], al
lea eax, [ebp - 0x30]
push eax
push esi
mov dword [ebp - 0x38], esi
mov byte [ebp - 0x33], dl
mov byte [ebp - 0x32], cl
movups xmmword [ebp - 0x30], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x40]
push dword [eax]
call dword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x44be31
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x40]
push dword [eax]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x38]
push eax
call fcn.00418490
add dword [ebp - 0x4c], 4
add edi, 8
push 2
push esi
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x50]
jl 0x44bd76
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.DLL_FreeResource]
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
cmp byte [ebp + 8], 0
je 0x44bf31
lea eax, [ebp - 0x20]
xorps xmm0, xmm0
push eax
push dword [edi]
movups xmmword [ebp - 0x20], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push 0xe801
push dword [edi]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x44beaa
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
sub edx, esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
sub eax, ecx
push 0
push dword [0x52f1ac]
push 0xe801
push dword [edi]
push edx
push eax
push esi
push ecx
push 0x5400001c
push 0
push 0x4e4800
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, dword [ebp - 0x3c]
test eax, eax
je 0x44bf34
lea ecx, [ebp - 0x30]
mov byte [esi + 0x1c], 1
push ecx
xorps xmm0, xmm0
mov dword [ebp - 0x38], eax
push eax
mov dword [ebp - 0x34], 0x6464
movups xmmword [ebp - 0x30], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x30]
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x44bf24
lea eax, [ebp - 0x28]
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.00418490
jmp 0x44bf34
mov esi, dword [ebp - 0x3c]
cmp byte [ebp + 0xc], 0
je 0x44bf79
push 0xfffffffffffffff0
push dword [edi]
xorps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm0
call dword [sym.imp.USER32.dll_GetWindowLongW]
lea ecx, [ebp - 0x20]
test eax, 0x40000000
mov eax, dword [edi]
push ecx
push eax
je 0x44bf61
call dword [sym.imp.USER32.dll_GetClientRect]
jmp 0x44bf67
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
mov dword [esi + 0x14], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
mov dword [esi + 0x18], eax
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x44bf87
push eax
call dword [sym.imp.KERNEL32.DLL_FreeResource]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a71aa
mov esp, ebp
pop ebp
ret 8