Function at 0x43bf4d
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
sub esp, 0x28
push ebx
mov ebx, ecx
push esi
push edi
test eax, eax
je 0x43c4bd
cmp dword [eax + 4], 0
je 0x43c4bd
cmp dword [ebx + 0xc], 0
jne 0x43c4bd
mov eax, dword [ebx + 0x18]
xor ecx, ecx
and dword [ebp - 0x10], ecx
xor edi, edi
and dword [ebp - 0xc], ecx
mov edx, 0x43c9fb
and dword [ebp - 0x14], ecx
mov esi, 0x561490
and dword [ebp - 0x18], ecx
and dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
cmp dword [eax - 0xc], ecx
je 0x43bfeb
push edx
mov ecx, esi
call fcn.00437e2b
mov esi, eax
test esi, esi
je 0x43c4c9
push edi
push edi
mov ecx, esi
call fcn.0043ddf0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 8]
push eax
push 1
push SysReAllocStringLen
push edi
push dword [ebx + 0x18]
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
jns 0x43c1b6
jmp 0x43c4c2
cmp dword [ebx + 0x10], ecx
je 0x43c154
and dword [ebp - 0x28], ecx
movzx esi, word [ebx + 0x10]
call fcn.0041c534
mov ecx, dword [eax + 0xc]
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x20], ecx
test eax, eax
jne 0x43c012
mov eax, str.image
push eax
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov esi, eax
mov edi, esi
neg edi
sbb edi, edi
and edi, 0x7fffbffb
add edi, 0x80004005
test esi, esi
je 0x43c051
push esi
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov edi, eax
neg edi
sbb edi, edi
and edi, 0x7fffbffb
add edi, 0x80004005
jmp 0x43c054
mov eax, dword [ebp - 0x28]
test edi, edi
js 0x43c1b6
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
mov dword [ebp - 0x24], eax
neg edi
sbb edi, edi
and edi, 0x7fffbffb
add edi, 0x80004005
test eax, eax
je 0x43c1b6
push esi
push dword [ebp - 0x20]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
mov dword [ebp - 0x28], eax
neg edi
sbb edi, edi
and edi, 0x7fffbffb
add edi, 0x80004005
test eax, eax
je 0x43c1b6
push 0x43c9fb
mov ecx, 0x561490
call fcn.00437e2b
mov esi, eax
test esi, esi
je 0x43c4c9
push 0
push 0
mov ecx, esi
call fcn.0043ddf0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov esi, dword [eax + 0x38]
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
js 0x43c1b6
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x24]
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 0x40]
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
js 0x43c1b6
push 0x43c9fb
mov ecx, 0x561490
call fcn.00437e2b
mov esi, eax
test esi, esi
je 0x43c4c9
xor edi, edi
mov ecx, esi
push edi
push edi
call fcn.0043ddf0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
lea eax, [ebp - 8]
push eax
push 1
push edi
push dword [ebp - 0x14]
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
jmp 0x43c1b6
cmp dword [ebx + 0x24], ecx
je 0x43c1b9
push edx
mov ecx, esi
call fcn.00437e2b
mov esi, eax
test esi, esi
je 0x43c4c9
xor edi, edi
mov ecx, esi
push edi
push edi
call fcn.0043ddf0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov esi, dword [eax + 0x54]
lea eax, [ebp - 4]
push eax
push edi
push edi
push dword [ebx + 0x24]
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
js 0x43c1b6
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0xc]
push ecx
push 0
push dword [ebp - 4]
mov eax, dword [eax + 4]
push eax
mov esi, dword [eax]
mov ecx, dword [esi + 0x14]
call dword [0x519a74]
call dword [esi + 0x14]
mov ecx, dword [ebp - 8]
cmp dword [ebx + 0xc], 0
jne 0x43c3f4
test edi, edi
js 0x43c3f4
test ecx, ecx
je 0x43c1f5
mov eax, dword [ecx]
mov esi, dword [eax + 0x34]
lea eax, [ebp - 0x10]
push eax
push 0
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
test edi, edi
js 0x43c3f1
push 0x43c9fb
mov ecx, 0x561490
call fcn.00437e2b
mov esi, eax
test esi, esi
je 0x43c4c9
push 0
push 0
mov ecx, esi
call fcn.0043ddf0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov esi, dword [eax + 0x28]
lea eax, [ebp - 0xc]
push eax
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
js 0x43c3f1
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], eax
test ecx, ecx
jne 0x43c269
test eax, eax
jne 0x43c269
mov ecx, dword [ebp - 0xc]
fldz
push 1
push ecx
push ecx
fstp qword [esp]
push eax
push eax
push 0x52f980
push dword [ebp - 4]
jmp 0x43c3ba
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x24]
push eax
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
js 0x43c3f1
mov esi, dword [ebp - 0x20]
test esi, esi
jne 0x43c2e7
mov eax, dword [ebp - 0x1c]
fild dword [ebp - 0x1c]
test eax, eax
jns 0x43c2a5
fadd dword [0x5241a0]
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
fild dword [ebp - 0x28]
test eax, eax
jns 0x43c2bb
fadd dword [0x5241a0]
fstp dword [ebp - 0x20]
fdiv dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
fstp dword [ebp - 0x20]
fld dword [ebp - 0x20]
fild dword [ebp - 0x24]
test eax, eax
jns 0x43c2d7
fadd dword [0x5241a0]
fstp dword [ebp - 0x20]
fmul dword [ebp - 0x20]
call fcn.004867c0
mov dword [ebp - 0x20], eax
jmp 0x43c33d
cmp dword [ebp - 0x1c], 0
jne 0x43c33d
mov dword [ebp - 0x1c], esi
fild dword [ebp - 0x1c]
test esi, esi
jns 0x43c2fd
fadd dword [0x5241a0]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
fild dword [ebp - 0x24]
test eax, eax
jns 0x43c313
fadd dword [0x5241a0]
fstp dword [ebp - 0x1c]
fdiv dword [ebp - 0x1c]
mov eax, dword [ebp - 0x28]
fstp dword [ebp - 0x1c]
fld dword [ebp - 0x1c]
fild dword [ebp - 0x28]
test eax, eax
jns 0x43c32f
fadd dword [0x5241a0]
fstp dword [ebp - 0x1c]
fmul dword [ebp - 0x1c]
call fcn.004867c0
mov dword [ebp - 0x1c], eax
push 0x43c9fb
mov ecx, 0x561490
call fcn.00437e2b
mov esi, eax
test esi, esi
je 0x43c4c9
push 0
push 0
mov ecx, esi
call fcn.0043ddf0
mov ecx, dword [esi + 0x14]
mov eax, dword [ecx]
mov esi, dword [eax + 0x2c]
lea eax, [ebp - 0x18]
push eax
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
js 0x43c3f1
mov ecx, dword [ebp - 0x18]
push 2
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, dword [ecx]
push dword [ebp - 4]
push ecx
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
js 0x43c3f1
mov ecx, dword [ebp - 0xc]
fldz
push 1
push ecx
push ecx
fstp qword [esp]
push 0
push 0
push 0x52f980
push dword [ebp - 0x18]
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
test edi, edi
js 0x43c3f1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
mov esi, dword [eax + 0x14]
lea eax, [ebx + 0xc]
push eax
push 0
push dword [ebp - 0xc]
push ecx
mov ecx, esi
call dword [0x519a74]
call esi
mov edi, eax
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x10]
neg eax
sbb eax, eax
and dword [ebp - 4], eax
test ecx, ecx
je 0x43c419
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x519a74]
call esi
and dword [ebp - 8], 0
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x43c434
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x519a74]
call esi
and dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x43c44f
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x519a74]
call esi
and dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0xc]
test ecx, ecx
je 0x43c46a
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x519a74]
call esi
and dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x43c485
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x519a74]
call esi
and dword [ebp - 0x18], 0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x43c4a0
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x519a74]
call esi
and dword [ebp - 4], 0
cmp dword [ebx + 0x28], 0
je 0x43c4b9
cmp dword [ebx + 0x24], 0
je 0x43c4b9
push dword [ebx + 0x24]
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [ebx + 0x24], 0
mov eax, edi
jmp 0x43c4c2
mov eax, 0x80004005
pop edi
pop esi
pop ebx
leave
ret 4
call fcn.00414190
int3