Function at 0x43fd42
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf8
mov eax, dword [0x5836e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
xor ebx, ebx
cmp dword [esi + 0x10], ebx
je 0x43fd67
mov al, 1
jmp 0x43ff3e
movzx eax, word [esi + 8]
push edi
push 5
push eax
push dword [0x5a229c]
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov edi, eax
test edi, edi
jne 0x43fda5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [esi + 8]
push str.FindResource_failed__RT_DIALOG_u
mov edi, eax
lea eax, [ebp - 0xf4]
push eax
call fcn.00403213
add esp, 0xc
jmp 0x43ff10
push edi
push dword [0x5a229c]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0xf8], eax
test eax, eax
jne 0x43fdcc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [esi + 8]
push str.LoadResource_failed__RT_DIALOG_u
jmp 0x43fd8f
push edi
push dword [0x5a229c]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esi + 0x14], eax
test eax, eax
jne 0x43fdf0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [esi + 8]
push str.SizeofResource_failed__RT_DIALOG_u
jmp 0x43fd8f
push dword [ebp - 0xf8]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
mov dword [ebp - 0xf8], edi
test edi, edi
jne 0x43fe1b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [esi + 8]
push str.LockResource_failed__RT_DIALOG_u
jmp 0x43fd8f
xor eax, eax
mov ecx, 0xffff
inc eax
cmp word [edi + 2], cx
jne 0x43fe61
cmp word [edi], ax
je 0x43fe61
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp - 0xf8]
mov edi, eax
movzx eax, word [ecx + 2]
push eax
movzx eax, word [ecx]
push eax
push dword [esi + 8]
lea eax, [ebp - 0xf4]
push str.Unsupported_dialog_resource_type__RT_DIALOG_u__verx_04X__signx_04X
push eax
call fcn.00403213
add esp, 0x14
jmp 0x43ff10
push eax
push dword [esi + 0x14]
call fcn.004e1c42
mov dword [esi + 0x10], eax
pop ecx
pop ecx
test eax, eax
jne 0x43fe88
call dword [sym.imp.KERNEL32.dll_GetLastError]
push dword [esi + 0x14]
mov edi, eax
push dword [esi + 8]
push str.Resource_data_allocation_failed__RT_DIALOG_u__size_u
jmp 0x43ff01
push dword [esi + 0x14]
push edi
push eax
call fcn.004f5d30
mov eax, dword [esi + 0x10]
add esp, 0xc
mov dword [ebp - 0xf8], eax
mov eax, 0xffff
cmp word [edi + 2], ax
jne 0x43feda
xor eax, eax
inc eax
cmp word [edi], ax
jne 0x43feda
lea eax, [ebp - 0xf8]
mov ecx, esi
push eax
call fcn.00440118
test al, al
jne 0x43ff36
mov eax, dword [ebp - 0xf8]
or edi, 0xffffffff
sub eax, dword [esi + 0x10]
push eax
push dword [esi + 8]
push str.Parse_DialogEx_failed__RT_DIALOG_u__pos_u
jmp 0x43ff01
lea eax, [ebp - 0xf8]
mov ecx, esi
push eax
call fcn.00440073
test al, al
jne 0x43ff36
mov eax, dword [ebp - 0xf8]
or edi, 0xffffffff
sub eax, dword [esi + 0x10]
push eax
push dword [esi + 8]
push str.Parse_Dialog_failed__RT_DIALOG_u__pos_u
lea eax, [ebp - 0xf4]
push eax
call fcn.00403213
add esp, 0x10
push ebx
push ebx
push ebx
lea eax, [ebp - 0xf4]
push edi
push eax
call fcn.00420ad9
add esp, 0x14
cmp dword [esi + 0x10], ebx
je 0x43ff3b
push dword [esi + 0x10]
call fcn.004e1bea
pop ecx
mov dword [esi + 0x10], ebx
jmp 0x43ff3b
xor eax, eax
lea ebx, [eax + 1]
mov al, bl
pop edi
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.004f4166
leave
ret