Function at 0x474fc0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc
mov eax, dword [0x5bd344]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push edi
push 5
mov edi, edx
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ebx, eax
test ebx, ebx
jne 0x474ff7
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057e93d
mov esp, ebp
pop ebp
ret
push esi
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_LockResource]
push ebx
push edi
mov dword [ebp - 0xa8], eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
mov dword [ebp - 0xbc], ebx
test ebx, ebx
je 0x4752bd
lea ecx, [ebx + 0x40]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
je 0x4752bd
push ebx
push dword [ebp - 0xa8]
push edi
call fcn.00582b50
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
push 0
mov dword [ebp - 0xa4], 0
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
push 0x5a
push esi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push esi
push 0
mov dword [ebp - 0xa8], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x41f3f4
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov esi, eax
test esi, esi
je 0x4752aa
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x41f2d0
push esi
call ebx
call eax
test eax, eax
je 0x4752aa
push 0x41f41c
push 0
push 0x41f40c
push esi
call ebx
call eax
mov dword [ebp - 0xac], eax
test eax, eax
je 0x4752aa
lea ecx, [ebp - 0xa0]
push ecx
push 0x325
push eax
push 0x41f444
push esi
call ebx
call eax
test eax, eax
jne 0x47513b
mov eax, dword [ebp - 0xa0]
test eax, eax
jns 0x4750f9
neg eax
mov dword [ebp - 0xa0], eax
push dword [ebp - 0xa8]
push 0x48
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
movzx eax, ax
mov ecx, 8
test ax, ax
push 0x20
cmove eax, ecx
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.SHLWAPI.dll_StrCpyNW]
mov dword [ebp - 0xa4], 1
jmp 0x475147
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xb0], eax
push dword [ebp - 0xac]
push 0x41f454
push esi
call ebx
call eax
cmp dword [ebp - 0xa4], 0
je 0x4752aa
movzx eax, word [edi + 2]
mov esi, 0xffff
mov ecx, eax
mov dword [ebp - 0xb8], ecx
cmp ax, si
jne 0x47517f
mov ecx, dword [edi + 0xc]
jmp 0x475181
mov ecx, dword [edi]
xor ebx, ebx
and ecx, 0x40
cmp ax, si
mov dword [ebp - 0xac], ecx
sete bl
lea ebx, [ebx*4 + 2]
mov dword [ebp - 0xa8], ebx
jne 0x4751a7
or dword [edi + 0xc], 0x48
jmp 0x4751aa
or dword [edi], 0x48
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add ebx, 2
lea eax, [ebx + eax*2]
xor ebx, ebx
cmp word [edi + 2], si
mov dword [ebp - 0xa4], eax
sete bl
lea ebx, [ebx*8 + 0x12]
add ebx, edi
cmp word [ebx], si
jne 0x4751e0
add ebx, 4
jmp 0x4751eb
movzx eax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4751e0
cmp word [ebx], si
jne 0x4751f5
add ebx, 4
jmp 0x475200
movzx eax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4751f5
movzx eax, word [ebx]
add ebx, 2
test ax, ax
jne 0x475200
cmp dword [ebp - 0xac], 0
mov esi, dword [ebp - 0xa8]
lea eax, [ebx + esi]
mov dword [ebp - 0xb4], eax
je 0x475230
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
lea eax, [esi + eax*2]
jmp 0x475232
xor eax, eax
mov esi, dword [ebp - 0xa4]
lea ecx, [eax + 3]
add esi, 3
add ecx, ebx
add esi, ebx
mov edx, 0xffff
and ecx, 0xfffffffc
and esi, 0xfffffffc
cmp word [ebp - 0xb8], dx
jne 0x47525c
movzx edx, word [edi + 0x10]
jmp 0x475260
movzx edx, word [edi + 8]
cmp dword [ebp - 0xa4], eax
je 0x475282
test dx, dx
je 0x475282
mov eax, edi
sub eax, ecx
add eax, dword [ebp - 0xbc]
push eax
push ecx
push esi
call fcn.005830d0
add esp, 0xc
mov eax, dword [ebp - 0xb0]
mov word [ebx], ax
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0xa8]
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0xb4]
call fcn.005830d0
add esp, 0xc
pop esi
mov eax, edi
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057e93d
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
pop edi
xor ecx, ebp
pop ebx
call fcn.0057e93d
mov esp, ebp
pop ebp
ret