Function at 0x4789cf
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
push esi
push 3
lea ecx, [ebp - 0x44]
call fcn.0040bc2e
mov dword [ebp - 8], 0x977
mov dword [ebp - 0xc], 0xcc7c44d9
mov dword [ebp - 0x10], 0
jmp 0x4789fe
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 3
jge 0x478a17
push dword [ebp - 0x10]
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
mov dword [eax], 0x707dfe4d
jmp 0x4789f7
push 0
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
cmp dword [eax], 0xffffffff
jge 0x478a2f
mov dword [ebp - 0x24], 1
jmp 0x478a33
and dword [ebp - 0x24], 0
push 1
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
push 0
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
cmp dword [eax], 0
je 0x478a64
push 1
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
cmp dword [eax], 0
je 0x478a64
mov dword [ebp - 0x18], 1
jmp 0x478a68
and dword [ebp - 0x18], 0
push 0
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax]
jg 0x478a82
mov dword [ebp - 0x1c], 1
jmp 0x478a86
and dword [ebp - 0x1c], 0
push 0
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
mov ecx, dword [ebp - 0x1c]
imul ecx, dword [eax]
test ecx, ecx
jne 0x478aa7
push 0xfffffffffffffffa
pop eax
test eax, eax
jne 0x478aa7
and dword [ebp - 0x30], 0
jmp 0x478aae
mov dword [ebp - 0x30], 1
mov dword [ebp - 8], 0xc341
mov eax, dword [ebp - 8]
mov dword [ebp - 0x38], eax
push 2
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
cmp dword [eax], 0
jne 0x478ad9
mov eax, 0x813bf58a
test eax, eax
jne 0x478ad9
and dword [ebp - 0x20], 0
jmp 0x478ae0
mov dword [ebp - 0x20], 1
cmp dword [ebp - 0x20], 0x7ea
jg 0x478af2
mov dword [ebp - 0x28], 1
jmp 0x478af6
and dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x24]
imul eax, dword [ebp - 0x28]
cmp eax, 0xfffc
je 0x478b19
push 2
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
cmp dword [eax], 0
jne 0x478b19
and dword [ebp - 0x34], 0
jmp 0x478b20
mov dword [ebp - 0x34], 1
cmp dword [ebp - 0xc], 0
jne 0x478b2c
cmp dword [ebp - 0xc], 0
je 0x478b4c
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x478b47
push 0
push 0x1c27
push 0
call dword [sym.imp.GDI32.dll_GetBitmapBits]
jmp 0x478c50
mov dword [ebp - 0xc], 2
jmp 0x478b5c
mov eax, dword [ebp - 0xc]
dec eax
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jl 0x478c50
cmp dword [ebp - 8], 0
je 0x478b71
jmp 0x478c50
mov dword [ebp - 8], 2
jmp 0x478b81
mov eax, dword [ebp - 8]
dec eax
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jl 0x478c4b
push 3
lea ecx, [ebp - 0x50]
call fcn.0040bc2e
mov dword [ebp - 0x14], 0
jmp 0x478ba5
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x478bbe
push dword [ebp - 0x14]
lea ecx, [ebp - 0x50]
call fcn.0040bd1c
mov dword [eax], 0xd058bbe5
jmp 0x478b9e
push 1
lea ecx, [ebp - 0x50]
call fcn.0040bd1c
and dword [eax], 0
jmp 0x478be5
push 1
lea ecx, [ebp - 0x50]
call fcn.0040bd1c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x2c]
mov dword [ecx], eax
push 1
lea ecx, [ebp - 0x50]
call fcn.0040bd1c
cmp dword [eax], 2
jg 0x478c28
mov byte [ebp - 2], 0
movzx eax, byte [ebp - 2]
test eax, eax
je 0x478c0b
push 0x151
call dword [sym.imp.USER32.dll_IsZoomed]
push 0
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
mov esi, eax
push dword [ebp - 0xc]
lea ecx, [ebp - 0x44]
call fcn.0040bd1c
mov ecx, dword [esi]
mov dword [eax], ecx
jmp 0x478bcd
mov byte [ebp - 3], 0
movzx eax, byte [ebp - 3]
test eax, eax
je 0x478c3e
push 0
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
lea ecx, [ebp - 0x50]
call fcn.0040bd00
jmp 0x478b7a
jmp 0x478b55
lea ecx, [ebp - 0x44]
call fcn.0040bd00
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 0x18]
push dword [ebp + 8]
push dword [ebp + 0x14]
push 0
call fcn.00479fd0
add esp, 0x18
pop esi
mov esp, ebp
pop ebp
ret