Function at 0x44bdd0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cca7d
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x513b94]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x40], edi
mov ecx, 4
lea eax, [edi - 0x1c]
test edi, edi
push 0xe801
cmove eax, ecx
mov dword [ebp - 0x3c], eax
push dword [eax]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x44be30
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
mov eax, dword [edi]
test eax, eax
je 0x44be45
push eax
call fcn.004ae0f7
add esp, 4
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0x14], 0xffffffff
mov dword [edi + 0x18], 0xffffffff
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov byte [edi + 0x1c], 0
mov dword [ebp - 0x48], 0
movzx eax, word [edi + 0x20]
push 0x4de28c
push eax
push dword [0x5198e0]
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
mov dword [ebp - 0x44], esi
test esi, esi
je 0x44c02e
push esi
push dword [0x5198e0]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x44c027
push esi
push dword [0x5198e0]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
shr eax, 1
mov dword [ebp - 0x50], eax
cmp eax, 1
jbe 0x44c02e
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x20]
push eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm0
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push dword [ebp - 0x48]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
mov dword [edi + 0x10], eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
cmp word [edi], 0
jne 0x44c017
push 5
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
mov dword [ebp - 0x4c], 0
add edi, 6
nop word [eax + eax]
test esi, esi
je 0x44c017
mov ch, byte [edi - 4]
test ch, ch
js 0x44bf44
cmp ch, 0x64
jle 0x44bf47
or ch, 0xff
mov dl, byte [edi - 2]
test dl, dl
js 0x44bf53
cmp dl, 0x64
jle 0x44bf56
or dl, 0xff
mov cl, byte [edi]
test cl, cl
js 0x44bf61
cmp cl, 0x64
jle 0x44bf64
or cl, 0xff
mov al, byte [edi + 2]
test al, al
js 0x44bf6f
cmp al, 0x64
jle 0x44bf71
or al, 0xff
cmp ch, 0xff
je 0x44bf88
cmp dl, 0xff
je 0x44bf88
cmp cl, 0xff
je 0x44bf88
cmp al, 0xff
je 0x44bf88
mov dh, 1
jmp 0x44bf8a
xor dh, dh
test ch, ch
jne 0x44bf9e
test dl, dl
jne 0x44bf9e
test cl, cl
jne 0x44bf9e
test al, al
jne 0x44bf9e
xor ah, ah
jmp 0x44bfa0
mov ah, 1
test dh, dh
je 0x44bff7
test ah, ah
je 0x44bff7
mov byte [ebp - 0x31], al
xorps xmm0, xmm0
lea eax, [ebp - 0x30]
mov dword [ebp - 0x38], esi
push eax
push esi
mov byte [ebp - 0x34], ch
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 - 0x3c]
push dword [eax]
call dword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x44bfeb
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
call dword [sym.imp.USER32.dll_ScreenToClient]
mov ecx, dword [ebp - 0x40]
lea eax, [ebp - 0x38]
push eax
call fcn.0041c490
push 2
push esi
call dword [sym.imp.USER32.dll_GetWindow]
mov esi, eax
add edi, 8
mov eax, dword [ebp - 0x4c]
add eax, 4
mov dword [ebp - 0x4c], eax
cmp eax, dword [ebp - 0x50]
jl 0x44bf30
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
cmp byte [ebp + 8], 0
mov edi, dword [sym.imp.USER32.dll_GetClientRect]
je 0x44c0fe
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0x20]
push eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x20], xmm0
push dword [esi]
call edi
push 0xe801
push dword [esi]
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x44c068
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edi, dword [ebp - 0x3c]
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 [0x5198dc]
push 0xe801
push dword [edi]
push edx
push eax
push esi
push ecx
push 0x5400001c
push 0
push 0x4dda78
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov edi, dword [sym.imp.USER32.dll_GetClientRect]
mov esi, dword [ebp - 0x40]
test eax, eax
je 0x44c101
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
mov eax, dword [ebp - 0x3c]
push dword [eax]
call dword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x44c0f1
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x3c]
push dword [eax]
call dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.0041c490
jmp 0x44c101
mov esi, dword [ebp - 0x40]
cmp byte [ebp + 0xc], 0
je 0x44c148
mov eax, dword [ebp - 0x3c]
xorps xmm0, xmm0
push 0xfffffffffffffff0
movups xmmword [ebp - 0x20], xmm0
push dword [eax]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov ecx, dword [ebp - 0x3c]
test eax, 0x40000000
mov eax, dword [ecx]
lea ecx, [ebp - 0x20]
push ecx
push eax
je 0x44c130
call edi
jmp 0x44c136
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 0x44c156
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.004a0e13
mov esp, ebp
pop ebp
ret 8