Function at 0x4781d5
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f8a61
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x5466b0]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x5466b0]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov edi, dword [ebp + 0xc]
mov esi, ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x14], eax
test edx, edx
jbe 0x47822e
test edi, edi
jne 0x47822e
xor eax, eax
jmp 0x4789f0
mov eax, dword [ebp + 8]
xor ecx, ecx
inc ecx
mov dword [esp + 0x2c], ecx
cmp eax, 3
jne 0x4782c7
cmp edx, 4
jb 0x47828f
push 0xf
pop eax
cmp edx, 5
jb 0x478256
mov ecx, dword [edi + 0x34]
call fcn.0040c5b0
push dword [esp + 0x14]
mov ecx, dword [edi + 0x28]
mov ebx, dword [edi + 0x1c]
mov esi, dword [edi + 0x10]
mov edi, dword [edi + 4]
push eax
call fcn.0040c5b0
push eax
mov ecx, ebx
call fcn.0040c5b0
push eax
mov ecx, esi
call fcn.0040c5b0
push eax
mov ecx, edi
call fcn.0040c5b0
mov ecx, dword [esp + 0x3c]
mov edx, eax
call fcn.00478b8d
mov eax, dword [esp + 0x14]
cmp dword [eax + 4], 0
jne 0x4789ec
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
xor eax, eax
mov dword [esp + 0x80], eax
cmp ecx, eax
je 0x478817
jmp 0x4784b1
push 2
pop ebx
cmp eax, ebx
jne 0x478325
mov eax, dword [esi]
push str.handle
mov ecx, esi
xor edi, edi
call dword [eax + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4782f2
cmp dword [ecx], 3
jne 0x4782f2
call fcn.0040c5f0
test eax, eax
je 0x4782f2
inc edi
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x80], 1
test ecx, ecx
je 0x478815
mov eax, edi
call fcn.0041a730
jmp 0x478817
cmp eax, ecx
jne 0x478403
push 0
lea ecx, [esp + 0x58]
mov dword [esp + 0x70], 0xf
call fcn.00401830
cmp dword [ebp + 0x10], 1
mov dword [esp + 0x80], ebx
jne 0x47835d
push str.image_png
lea ecx, [esp + 0x58]
call fcn.00401150
jmp 0x47838b
cmp dword [ebp + 0x10], ebx
jb 0x47838b
push str.image_
lea ecx, [esp + 0x58]
call fcn.00401150
mov eax, dword [edi + 0x10]
cmp dword [eax], 1
jne 0x47837d
mov eax, dword [eax + 8]
jmp 0x47837f
xor eax, eax
lea ecx, [esp + 0x54]
push ecx
mov edx, eax
call fcn.00452f50
cmp dword [esp + 0x6c], 0x10
mov eax, dword [esp + 0x58]
jae 0x47839a
lea eax, [esp + 0x58]
mov edi, dword [edi + 4]
cmp dword [edi], 1
jne 0x4783a7
mov ebx, dword [edi + 8]
jmp 0x4783a9
xor ebx, ebx
mov edi, eax
mov ecx, esi
call fcn.00478cff
test eax, eax
push 0x54cfe0
push 0x10
setne bl
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
mov byte [esp + 0x80], 3
test ecx, ecx
je 0x4783e1
movzx eax, bl
call fcn.0040c000
jmp 0x4783e3
xor eax, eax
mov ecx, dword [esp + 0x14]
push eax
mov byte [esp + 0x84], 2
call fcn.0040ed50
lea ecx, [esp + 0x54]
call fcn.004018a0
jmp 0x4789ec
cmp eax, 6
jne 0x478457
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x80], 4
test eax, eax
je 0x478815
mov eax, dword [esi]
push str.handle
mov ecx, esi
call dword [eax + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4784ab
cmp dword [ecx], 3
jne 0x4784ab
call fcn.0040c5f0
test eax, eax
je 0x4784ab
mov esi, eax
call fcn.00430af0
jmp 0x4784ad
cmp eax, 7
jne 0x4784bb
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x80], 5
test eax, eax
je 0x478815
mov eax, dword [esi]
push str.handle
mov ecx, esi
call dword [eax + 0x38]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4784ab
cmp dword [ecx], 3
jne 0x4784ab
call fcn.0040c5f0
test eax, eax
je 0x4784ab
mov esi, eax
call fcn.00430ac0
jmp 0x4784ad
xor eax, eax
mov ecx, dword [esp + 0x20]
call fcn.0040c000
jmp 0x478817
cmp eax, 8
jne 0x478568
test edi, edi
je 0x4789ec
cmp edx, 4
jb 0x4789ec
and dword [esp + 0x14], 0
and dword [esp + 0x1c], 0
or eax, 0xffffffff
mov dword [esp + 0x18], eax
cmp edx, 8
jb 0x478517
mov ecx, dword [edi + 0x34]
call fcn.0040c5b0
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x14], eax
call fcn.0040c5b0
mov ecx, dword [edi + 0x4c]
mov dword [esp + 0x1c], eax
call fcn.0040c5b0
mov ecx, dword [edi + 0x58]
mov dword [esp + 0x18], eax
call fcn.0040c5b0
mov ecx, dword [edi + 0x28]
mov ebx, dword [edi + 0x1c]
mov esi, dword [edi + 0x10]
mov edi, dword [edi + 4]
push eax
push dword [esp + 0x18]
call fcn.0040c5b0
movzx eax, al
push eax
mov ecx, ebx
call fcn.0040c5b0
movzx eax, al
push eax
mov ecx, esi
call fcn.0040c5b0
movzx eax, al
push eax
mov ecx, edi
call fcn.0040c5b0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
movzx eax, al
push eax
mov eax, dword [esp + 0x30]
call fcn.00478e84
jmp 0x4789ec
push 9
pop ebx
cmp eax, ebx
jne 0x4785c9
test edi, edi
je 0x4789ec
cmp edx, 4
jb 0x4789ec
mov eax, dword [edi + 0x28]
test eax, eax
je 0x4789ec
cmp dword [eax], 5
jne 0x4789ec
mov ecx, dword [edi + 0x1c]
mov esi, dword [edi + 0x10]
mov ebx, dword [eax + 8]
mov edi, dword [edi + 4]
call fcn.0040c5b0
movzx eax, al
push eax
mov ecx, esi
call fcn.0040c5b0
push eax
mov ecx, edi
call fcn.0040c5b0
mov ecx, dword [esp + 0x30]
push eax
mov eax, ebx
call fcn.004790c6
jmp 0x4789ec
cmp eax, 0xa
jne 0x478743
mov eax, dword [esi]
push str.handle
mov ecx, esi
call dword [eax + 0x38]
mov ecx, dword [eax + 4]
mov ebx, 0x54cfe0
test ecx, ecx
je 0x478718
cmp dword [ecx], 3
jne 0x478718
call fcn.0040c5f0
mov esi, eax
test esi, esi
je 0x478718
cmp dword [ebp + 0x10], 0
jne 0x47862e
call fcn.00477d6e
mov edi, eax
call fcn.00430ac0
push eax
call fcn.00430af0
push eax
push 0
push 0
mov edx, edi
mov eax, esi
call fcn.00430670
jmp 0x478693
cmp dword [ebp + 0x10], 4
jb 0x478718
test edi, edi
je 0x478718
mov eax, dword [edi + 0x1c]
mov ebx, dword [edi + 0x28]
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 4]
mov dword [esp + 0x1c], eax
call fcn.00477d6e
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.0040c5b0
mov ecx, dword [esp + 0x20]
push eax
call fcn.0040c5b0
mov ecx, dword [esp + 0x20]
push eax
call fcn.0040c5b0
push eax
mov ecx, edi
call fcn.0040c5b0
push eax
mov eax, dword [esp + 0x28]
mov edx, eax
mov eax, esi
call fcn.00430670
mov ebx, 0x54cfe0
mov esi, eax
test esi, esi
je 0x478718
push ebx
push 0x20
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], 6
test eax, eax
je 0x4786c1
push esi
push eax
call fcn.00477f97
mov esi, eax
jmp 0x4786c3
xor esi, esi
mov edi, esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x80], 7
test esi, esi
je 0x478703
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x4786f7
xor edi, edi
mov dword [esp + 0x20], edi
mov dword [eax + 8], esi
mov dword [eax], 5
jmp 0x4786f9
xor eax, eax
mov ecx, dword [esp + 0x14]
push eax
call fcn.0040ed50
or dword [esp + 0x80], 0xffffffff
test edi, edi
je 0x478718
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 8]
mov eax, dword [esp + 0x14]
cmp dword [eax + 4], 0
jne 0x4789ec
push ebx
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
test eax, eax
je 0x47873c
and dword [eax], 0
jmp 0x47881f
xor eax, eax
jmp 0x47881f
cmp eax, 5
jne 0x478754
mov edi, esi
call fcn.00478df4
jmp 0x4789ec
cmp eax, 0xb
jne 0x47882e
xor ebx, ebx
cmp edi, ebx
je 0x4787e9
cmp edx, ebx
jbe 0x4787e9
mov ecx, dword [edi + 4]
call fcn.0040c5b0
fld1
cmp dword [ebp + 0x10], 1
fstp dword [esp + 0x18]
jbe 0x47878b
mov eax, dword [edi + 0x10]
call fcn.0040c630
fstp dword [esp + 0x18]
cmp dword [ebp + 0x10], 2
fldz
fstp dword [esp + 0x1c]
jbe 0x4787a3
mov eax, dword [edi + 0x1c]
call fcn.0040c630
fstp dword [esp + 0x1c]
xor eax, eax
inc eax
cmp dword [ebp + 0x10], 3
jbe 0x4787b4
mov ecx, dword [edi + 0x28]
call fcn.0040c5b0
fld dword [esp + 0x1c]
mov edi, dword [edi + 4]
push eax
push ecx
push ecx
fstp dword [esp + 4]
mov ecx, edi
fld dword [esp + 0x24]
fstp dword [esp]
call fcn.0040c5b0
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
fild qword [esp + 0x40]
push ecx
mov ecx, esi
fstp dword [esp]
call fcn.00479538
mov ebx, eax
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov ecx, eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x80], 8
test ecx, ecx
je 0x478815
mov eax, ebx
call fcn.0041a750
jmp 0x478817
xor eax, eax
or dword [esp + 0x80], 0xffffffff
mov ecx, dword [esp + 0x14]
push eax
call fcn.0040ed50
jmp 0x4789ec
cmp eax, 0xc
jne 0x4789e7
push 0x54cfe0
push 0x20
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x80], ebx
test eax, eax
je 0x478861
mov esi, eax
call fcn.00460b7c
mov dword [esp + 0x14], eax
jmp 0x478866
and dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov dword [esp + 0x80], 0xa
test eax, eax
je 0x4789ce
test edi, edi
je 0x4789ce
mov esi, dword [ebp + 0x10]
test esi, esi
jbe 0x4789ce
mov eax, dword [edi + 4]
cmp dword [eax], 5
jne 0x4789ce
fld1
xor ebx, ebx
inc ebx
fstp dword [esp + 0x20]
cmp esi, ebx
jbe 0x4788b9
mov eax, dword [edi + 0x10]
call fcn.0040c630
fstp dword [esp + 0x20]
fldz
fstp dword [esp + 0x18]
cmp esi, 2
jbe 0x4788d0
mov eax, dword [edi + 0x1c]
call fcn.0040c630
fstp dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
cmp esi, 3
jbe 0x4788e5
mov ecx, dword [edi + 0x28]
call fcn.0040c5b0
mov dword [esp + 0x1c], eax
mov edi, dword [edi + 4]
cmp dword [edi], 5
jne 0x4788f2
mov edi, dword [edi + 8]
jmp 0x4788f4
xor edi, edi
test edi, edi
je 0x4789ce
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x5c]
xor ebx, ebx
mov dword [esp + 0x24], eax
test eax, eax
jbe 0x4789ce
mov eax, dword [edi]
push ebx
mov ecx, edi
call dword [eax + 0x4c]
mov esi, eax
cmp dword [esi + 4], 0
je 0x4789c3
push 0x54cfe0
push 0x10
call fcn.004cba2a
pop ecx
pop ecx
mov dword [esp + 0x30], eax
mov byte [esp + 0x80], 0xb
test eax, eax
je 0x478986
push dword [esp + 0x1c]
fld dword [esp + 0x1c]
mov esi, dword [esi + 4]
push ecx
push ecx
fstp dword [esp + 4]
mov ecx, esi
fld dword [esp + 0x2c]
fstp dword [esp]
call fcn.0040c5b0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
fild qword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x38]
fstp dword [esp]
call fcn.00479538
mov ecx, dword [esp + 0x30]
call fcn.0041a750
jmp 0x478988
xor eax, eax
push eax
lea esi, [esp + 0x4c]
mov byte [esp + 0x84], 0xa
call fcn.0040ec70
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x80], 0xc
mov edx, dword [ecx]
push eax
call dword [edx + 0x10]
mov byte [esp + 0x80], 0xa
mov ecx, esi
mov dword [esp + 0x48], vtable.os::script_shared_ptr_class__variant__.0
call fcn.0040ea60
inc ebx
cmp ebx, dword [esp + 0x24]
jb 0x478911
mov ecx, dword [esp + 0x14]
or dword [esp + 0x80], 0xffffffff
test ecx, ecx
je 0x4789ec
mov eax, dword [ecx]
push 1
call dword [eax + 8]
jmp 0x4789ec
and dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.004cb38b
mov esp, ebp
pop ebp
ret 0x18