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

Disassembly:
sub esp, 0x1f0
push ebx
push ebp
mov ebp, dword [esp + 0x1fc]
push esi
mov esi, dword [esp + 0x208]
push edi
xor edi, edi
mov dword [esp + 0x14], edi
mov eax, dword [ebp + 0x14]
xor ebx, ebx
cmp eax, dword [ebp + 0x1c]
jge 0x451184
mov ecx, dword [ebp + 0x18]
cmp ecx, dword [ebp + 0x20]
jge 0x451184
mov edx, dword [esp + 0x210]
mov eax, dword [ebp]
cmp dword [edx], edi
jne 0x44fd56
cmp eax, 0x69
jne 0x44fc0c
mov ecx, dword [ebp + 4]
lea eax, [esp + 0x30]
push eax
push esi
call fcn.0048b570
push 0x566aa8
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x174
call fcn.0045eff0
mov ebx, eax
test ebx, ebx
je 0x45014f
mov edi, dword [esp + 0x30]
call fcn.0043dd80
mov eax, esi
lea ecx, [esp + 0x34]
mov dword [ebx], vtable.ytBGNode.0
mov dword [ebx + 0x170], edi
call fcn.0044f8d0
lea ecx, [esp + 0x34]
mov eax, ebx
call fcn.00420040
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.0048c1c0
mov ecx, 2
cmp dword [ebx + 0x15c], eax
je 0x44fbe5
or dword [ebx + 8], ecx
cmp byte [ebx + 0x122], 0
mov dword [ebx + 0x15c], eax
je 0x44fbf7
or dword [ebx + 8], ecx
mov ecx, dword [esp + 0x210]
mov byte [ebx + 0x122], 0
mov dword [ecx], ebx
jmp 0x44fd32
cmp eax, 0x6c
je 0x451184
push 4
call fcn.0049d50f
add esp, 4
mov dword [esp + 0xa8], eax
cmp eax, edi
je 0x44fc30
mov dword [eax], 1
mov eax, dword [ebp + 4]
lea edx, [esp + 0xa8]
push edx
mov ecx, esi
mov byte [esp + 0xc0], 1
mov dword [esp + 0xc8], edi
mov dword [esp + 0xc4], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xcc], edi
mov dword [esp + 0xbc], edi
call fcn.0044f980
add esp, 4
cmp dword [esp + 0xb8], edi
je 0x44fd26
cmp dword [ebp], 0x65
push 0x566aa8
jne 0x44fcbb
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x194
call fcn.0045eff0
test eax, eax
je 0x44fce0
push eax
lea edi, [esp + 0xac]
call fcn.0044dea0
mov ebx, eax
jmp 0x44fce2
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x194
call fcn.0045eff0
test eax, eax
je 0x44fce0
push eax
lea edi, [esp + 0xac]
call fcn.0044dfb0
mov ebx, eax
jmp 0x44fce2
xor ebx, ebx
mov eax, esi
lea ecx, [esp + 0x34]
call fcn.0044f8d0
mov ecx, eax
mov eax, ebx
call fcn.00420040
mov eax, dword [esp + 0x210]
mov dword [eax], ebx
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.0048c1c0
mov ecx, eax
mov eax, ebx
call fcn.004017b0
cmp byte [ebx + 0x122], 0
je 0x44fd1f
or dword [ebx + 8], 2
mov byte [ebx + 0x122], 0
lea esi, [esp + 0xa8]
call fcn.00472be0
test ebx, ebx
je 0x451184
mov eax, 0x48a6d0
cmp dword [ebx + 0x16c], eax
je 0x44fd4b
or dword [ebx + 8], 7
mov dword [ebx + 0x16c], eax
jmp 0x451125
cmp eax, 0x7c
jl 0x44fd94
mov ecx, dword [0x566afc]
mov edx, dword [ecx + 0x50]
mov eax, dword [edx + eax*4 - 0x1f0]
mov edx, dword [eax]
push esi
mov ecx, eax
mov eax, dword [edx + 4]
push ebp
call eax
mov ebx, eax
cmp ebx, edi
je 0x451184
mov ecx, dword [esp + 0x210]
mov edi, dword [ecx]
push ebx
call fcn.004401c0
jmp 0x451125
lea ecx, [eax - 0x67]
cmp ecx, 0x13
ja case.0x44fdad.112
movzx edx, byte [ecx + 0x4511bc]
mov esi, dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
jmp dword [edx*4 + 0x451194]
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
lea edx, [esp + 0x44]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20c]
push edx
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 4]
push eax
call fcn.0048b570
cmp dword [ebp], 0x67
push 0x566aa8
jne 0x44fe19
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x184
call fcn.0045eff0
mov edi, eax
test edi, edi
je 0x45014f
mov ecx, dword [esp + 0x44]
lea esi, [ebp + 0x24]
push ecx
call fcn.00422220
mov dword [edi], vtable.ytColorCircleNode.0
mov byte [edi + 0x12a], bl
mov esi, edi
jmp 0x44fe40
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x184
call fcn.0045eff0
test eax, eax
je 0x45014f
mov edx, dword [esp + 0x44]
lea esi, [ebp + 0x24]
push edx
call fcn.00422220
mov esi, eax
test esi, esi
je 0x45014f
cmp dword [ebp], 0x6a
jne 0x44ff42
mov eax, dword [ebp + 0xc]
shr eax, 1
cmp eax, 2
jae 0x44fe7d
fld dword [0x4c35e8]
mov eax, 1
mov ecx, eax
push ecx
push eax
sub esp, 8
fstp dword [esp + 4]
fld dword [0x4d3430]
jmp 0x44ff3a
cmp eax, 5
je 0x44fea3
mov eax, dword [esp + 0x208]
mov eax, dword [eax]
test eax, eax
je 0x44fe94
lea ecx, [eax + 4]
jmp 0x44fe96
xor ecx, ecx
push str.Shadows_need_4_arguments
call fcn.0044e750
add esp, 4
mov eax, dword [ebp + 8]
add eax, 4
mov eax, dword [eax]
test eax, eax
je 0x44feb4
add eax, 4
jmp 0x44feb6
xor eax, eax
push eax
call fcn.0049d410
fstp dword [esp + 0x28]
mov eax, dword [ebp + 8]
add eax, 8
mov eax, dword [eax]
add esp, 4
test eax, eax
je 0x44fed4
add eax, 4
jmp 0x44fed6
xor eax, eax
push eax
call fcn.0049d410
add esp, 4
call fcn.004b2870
mov ebx, eax
mov eax, dword [ebp + 8]
add eax, 0xc
mov eax, dword [eax]
test eax, eax
je 0x44fef7
add eax, 4
jmp 0x44fef9
xor eax, eax
push eax
call fcn.0049d410
add esp, 4
call fcn.004b2870
mov edi, eax
mov eax, dword [ebp + 8]
add eax, 0x10
mov eax, dword [eax]
test eax, eax
je 0x44ff1a
add eax, 4
jmp 0x44ff1c
xor eax, eax
push eax
call fcn.0049d410
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
add esp, 4
push edi
push ebx
sub esp, 8
fstp dword [esp + 4]
fld dword [esp + 0x34]
fstp dword [esp]
call fcn.0044abe0
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20c]
call fcn.0048c1c0
mov ecx, eax
mov eax, esi
call fcn.004017b0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push ecx
push edx
mov ecx, esi
call fcn.00440010
test dword [ebp + 0xc], 0xfffffffe
je 0x44ffb6
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x44ff82
add eax, 4
jmp 0x44ff84
xor eax, eax
lea ecx, [esp + 0x24]
push ecx
push 0x4d038c
push eax
call fcn.0049f611
add esp, 0xc
lea edx, [esp + 0x24]
call fcn.0044ddc0
mov eax, dword [esp + 0x24]
cmp dword [esi + 0x174], eax
je 0x44ffb6
or dword [esi + 8], 2
mov dword [esi + 0x174], eax
mov edx, dword [esp + 0x210]
mov edi, dword [edx]
push esi
call fcn.004401c0
mov ebx, esi
jmp 0x451125
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
lea edx, [esp + 0x2c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20c]
push edx
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 4]
push eax
call fcn.0048b570
mov eax, dword [ebp]
cmp eax, 0x6c
jne 0x4500e0
test dword [ebp + 0xc], 0xfffffffe
lea esi, [eax - 0x6b]
push 0x566aa8
je 0x45006f
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x1e8
call fcn.0045eff0
mov ebx, eax
test ebx, ebx
je 0x45005d
movq xmm0, qword [ebp + 0x24]
mov eax, dword [ebp + 8]
sub esp, 0x10
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp + 0x2c]
movq qword [ecx + 8], xmm0
mov ecx, dword [esp + 0x3c]
push ecx
lea edi, [esp + 0xe4]
mov dword [esp + 0x28], esi
call fcn.00401220
push eax
push ebx
call fcn.0045d890
mov edi, eax
jmp 0x45005f
xor edi, edi
test byte [esp + 0x14], 1
je 0x4500cb
lea ecx, [esp + 0xd0]
jmp 0x4500c6
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x1e8
call fcn.0045eff0
xor edi, edi
cmp eax, edi
je 0x4500bb
movq xmm0, qword [ebp + 0x24]
mov edx, dword [esp + 0x2c]
sub esp, 0x10
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp + 0x2c]
movq qword [ecx + 8], xmm0
push edx
lea ecx, [esp + 0x58]
push ecx
push eax
mov dword [esp + 0x30], 2
mov dword [esp + 0x60], edi
call fcn.0045d890
mov edi, eax
test byte [esp + 0x14], 2
je 0x4500cb
lea ecx, [esp + 0x44]
call fcn.00401420
test edi, edi
je 0x4500d9
or dword [edi + 8], esi
mov byte [edi + 0x1cd], 1
mov esi, edi
jmp 0x450202
cmp eax, 0x6d
jne 0x450129
push 0x566aa8
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x1ec
call fcn.0045eff0
test eax, eax
je 0x45014f
movq xmm0, qword [ebp + 0x24]
mov edx, dword [esp + 0x2c]
sub esp, 0x10
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp + 0x2c]
push edx
mov esi, eax
movq qword [ecx + 8], xmm0
call fcn.0048c980
mov esi, eax
jmp 0x450202
test dword [ebp + 0xc], 0xfffffffe
jne 0x45017e
mov eax, dword [esp + 0x208]
mov eax, dword [eax]
test eax, eax
je 0x45015f
lea ecx, [eax + 4]
push str.Statics_must_have_one_argument__contents_
call fcn.0044e750
add esp, 4
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f0
ret
xor ecx, ecx
push str.Statics_must_have_one_argument__contents_
call fcn.0044e750
add esp, 4
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f0
ret
push 0x566aa8
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x1e8
call fcn.0045eff0
mov esi, eax
test esi, esi
je 0x4501ed
mov eax, dword [ebp + 8]
or ebx, 0xffffffff
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
movq xmm0, qword [esp + 0x60]
movq qword [ecx], xmm0
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
movq xmm0, qword [esp + 0x68]
movq qword [ecx + 8], xmm0
mov ecx, dword [esp + 0x3c]
push ecx
lea edi, [esp + 0xe8]
mov dword [esp + 0x28], 4
call fcn.00401220
push eax
push esi
call fcn.0045d890
mov esi, eax
jmp 0x4501ef
xor esi, esi
test byte [esp + 0x14], 4
je 0x450202
lea ecx, [esp + 0xd4]
call fcn.00401420
test esi, esi
je 0x45014f
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20c]
call fcn.0048c1c0
mov ecx, eax
mov eax, esi
call fcn.004017b0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
mov ecx, esi
call fcn.00440010
mov ecx, dword [esp + 0x210]
mov edi, dword [ecx]
push esi
call fcn.004401c0
mov dword [esp + 0x44], esi
mov ebx, esi
jmp 0x451125
push 0x566aa8
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x170
call fcn.0045eff0
test eax, eax
je 0x45014f
call fcn.0043dd80
mov dword [esp + 0x14], eax
test eax, eax
je 0x45014f
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
lea ecx, [ebp + 0x24]
call fcn.00420040
mov eax, dword [esp + 0x14]
movss xmm1, dword [eax + 0x78]
or dword [eax + 8], 1
cvtsi2ss xmm0, edi
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movss xmm1, dword [eax + 0x7c]
cvtsd2ss xmm0, xmm0
movss dword [eax + 0x78], xmm0
cvtsi2ss xmm0, ebx
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [eax + 0x7c], xmm0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x210]
mov edi, dword [eax]
push edx
call fcn.004401c0
test dword [ebp + 0xc], 0xfffffffe
je 0x45031d
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.004516f0
add esp, 8
test eax, eax
je 0x45031d
mov edx, dword [esp + 0x208]
mov eax, dword [edx]
test eax, eax
je 0x45030e
lea ecx, [eax + 4]
jmp 0x450310
xor ecx, ecx
push str.Cant_load_child_PSD_file.
call fcn.0044e750
add esp, 4
mov ebx, dword [esp + 0x14]
jmp 0x451125
mov ecx, dword [esp + 0x20c]
lea eax, [esp + 0x1c]
push eax
push ecx
mov ecx, dword [ebp + 4]
call fcn.0048b570
push 0x566aa8
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x1bc
call fcn.0045eff0
test eax, eax
je 0x45014f
mov edx, dword [esp + 0x1c]
push edx
push eax
call fcn.0048cd30
mov esi, eax
test esi, esi
je 0x45014f
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
lea ecx, [ebp + 0x24]
call fcn.00420040
movss xmm1, dword [esi + 0x78]
or dword [esi + 8], 1
mov ecx, dword [esp + 0x20c]
cvtps2pd xmm1, xmm1
cvtsi2ss xmm0, edi
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
movss xmm1, dword [esi + 0x7c]
cvtsd2ss xmm0, xmm0
movss dword [esi + 0x78], xmm0
cvtsi2ss xmm0, ebx
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [esi + 0x7c], xmm0
mov eax, dword [ebp + 4]
call fcn.0048c1c0
mov ecx, eax
mov eax, esi
call fcn.004017b0
mov eax, dword [esp + 0x210]
mov edi, dword [eax]
push esi
call fcn.004401c0
mov ebx, esi
jmp 0x451125
xor esi, esi
test dword [ebp + 0xc], 0xfffffffe
jne 0x450413
mov ecx, dword [esp + 0x208]
mov eax, dword [ecx]
cmp eax, esi
je 0x450404
lea ecx, [eax + 4]
jmp 0x450406
xor ecx, ecx
push str.Need_argument_for_decrect__filename_layername_
call fcn.0044e750
add esp, 4
push 4
call fcn.0049d50f
add esp, 4
mov dword [esp + 0x84], eax
cmp eax, esi
je 0x45042e
mov dword [eax], 1
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x84]
push edx
mov byte [esp + 0x9c], 1
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0x98], esi
call fcn.0044f280
add esp, 4
cmp dword [esp + 0x94], esi
je 0x4504f5
push 0x566aa8
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x2f4
call fcn.0045eff0
mov ebx, eax
test ebx, ebx
je 0x4504b3
push ebx
lea edi, [esp + 0x88]
call fcn.00420250
mov dword [ebx], vtable.ytDecRectNode.0
jmp 0x4504b5
xor ebx, ebx
mov eax, dword [esp + 0x210]
mov edi, dword [eax]
push ebx
call fcn.004401c0
lea ecx, [ebp + 0x24]
mov eax, ebx
call fcn.00420040
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push ecx
push eax
mov ecx, ebx
call fcn.00440010
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20c]
call fcn.0048c1c0
mov ecx, eax
mov eax, ebx
call fcn.004017b0
lea esi, [esp + 0x84]
jmp 0x451120
push 0x566aa8
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x170
call fcn.0045eff0
test eax, eax
je 0x450589
call fcn.0043dd80
mov ecx, dword [esp + 0x210]
mov dword [eax], vtable.ytButtContainer.0
mov edi, dword [ecx]
push eax
mov ebx, eax
call fcn.004401c0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
movss xmm1, dword [ebx + 0x78]
or dword [ebx + 8], 1
cvtsi2ss xmm0, eax
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
movss xmm1, dword [ebx + 0x7c]
cvtsd2ss xmm0, xmm0
movss dword [ebx + 0x78], xmm0
cvtsi2ss xmm0, ecx
cvtss2sd xmm0, xmm0
cvtps2pd xmm1, xmm1
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
lea ecx, [ebp + 0x24]
mov eax, ebx
movss dword [ebx + 0x7c], xmm0
call fcn.00420040
jmp 0x451125
xor ebx, ebx
jmp 0x450536
push 0x566aa8
cmp eax, 0x68
jne 0x4505ba
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x2f8
call fcn.0045eff0
xor esi, esi
cmp eax, esi
je 0x45014f
mov edi, eax
call fcn.0044e460
jmp 0x4505db
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x2cc
call fcn.0045eff0
test eax, eax
je 0x45014f
mov esi, eax
call fcn.00475470
xor esi, esi
mov ebx, eax
mov dword [esp + 0x2c], ebx
cmp ebx, esi
je 0x45014f
mov eax, dword [ebp]
cmp eax, 0x77
je 0x4505f6
cmp eax, 0x76
jne 0x45060a
cmp byte [ebx + 0x24e], 1
je 0x45060a
or dword [ebx + 8], 7
mov byte [ebx + 0x24e], 1
mov eax, dword [ebp]
cmp eax, 0x75
je 0x450617
cmp eax, 0x76
jne 0x45064a
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20c]
lea edx, [esp + 0x150]
push edx
call fcn.0044f910
movq xmm0, qword [eax]
movq qword [ebx + 0xa4], xmm0
movq xmm0, qword [eax + 8]
add esp, 4
movq qword [ebx + 0xac], xmm0
mov eax, dword [esp + 0x210]
mov edi, dword [eax]
push ebx
call fcn.004401c0
test dword [ebp + 0xc], 0xfffffffe
mov dword [esp + 0x44], ebx
je 0x450670
mov ecx, dword [ebp + 8]
push ecx
push ebx
call fcn.00475870
push 0x41f6d0
push 0x24
mov eax, 4
lea ecx, [esp + 0x178]
call fcn.0041f540
mov edx, dword [ebp + 0xc]
and edx, 0xfffffffe
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov ebx, 1
cmp edx, 2
jbe 0x450834
cmp ebx, 5
jae 0x450834
push 4
call fcn.0049d50f
add esp, 4
mov dword [esp + 0xe8], eax
test eax, eax
je 0x4506d0
mov dword [eax], 1
xor eax, eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0xf8], eax
lea eax, [ebx + ebx*8]
lea eax, [esp + eax*4 + 0x14c]
lea edi, [esp + 0xe8]
mov byte [esp + 0xfc], 1
mov dword [esp + 0x24], eax
call fcn.00472c80
mov esi, edi
call fcn.00472be0
cmp ebx, 1
jne 0x45075c
mov edi, dword [ebp + 8]
or dword [esp + 0x14], 8
mov edx, 0x4d0408
lea esi, [esp + 0xcc]
add edi, 4
call fcn.004011f0
mov ecx, edi
call fcn.00401360
mov byte [esp + 0x13], bl
test al, al
jne 0x450761
mov byte [esp + 0x13], 0
test byte [esp + 0x14], 8
je 0x450779
and dword [esp + 0x14], 0xfffffff7
lea ecx, [esp + 0xcc]
call fcn.00401420
cmp byte [esp + 0x13], 0
mov esi, dword [esp + 0x24]
push esi
je 0x450799
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x210]
call fcn.0044f980
add esp, 4
jmp 0x4507ab
mov eax, dword [ebp + 8]
lea ecx, [eax + ebx*4]
call fcn.0044f280
add esp, 4
test eax, eax
jne 0x450804
lea eax, [esp + 0x50]
call fcn.00401110
mov ecx, esi
test al, al
je 0x4507dd
lea eax, [esp + 0x140]
call fcn.0044c600
movq xmm0, qword [eax]
movq qword [esp + 0x50], xmm0
movq xmm0, qword [eax + 8]
movq qword [esp + 0x58], xmm0
jmp 0x4507f4
lea eax, [esp + 0x130]
call fcn.0044c600
mov ecx, eax
lea eax, [esp + 0x50]
call fcn.0043cef0
mov ecx, dword [ebp + 0xc]
inc ebx
shr ecx, 1
cmp ebx, ecx
jb 0x4506ac
jmp 0x450834
mov edx, dword [ebp + 8]
lea eax, [edx + ebx*4]
mov eax, dword [eax]
test eax, eax
je 0x450815
lea edx, [eax + 4]
jmp 0x450817
xor edx, edx
mov eax, dword [esp + 0x208]
mov eax, dword [eax]
test eax, eax
je 0x450829
lea ecx, [eax + 4]
jmp 0x45082b
xor ecx, ecx
push edx
call fcn.0044e750
add esp, 4
lea eax, [ebx - 1]
or ebx, 0xffffffff
test eax, eax
jbe 0x45094b
mov ecx, dword [esp + 0x5c]
sub ecx, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x58]
sub ecx, dword [esp + 0x50]
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x18c]
mov dword [esp + 0x24], ecx
lea esp, [esp]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x30]
push 0
push edx
lea eax, [esp + 0x8c]
call fcn.00472a90
cmp dword [esp + 0x94], 0
je 0x45092f
mov esi, dword [esp + 0x24]
mov eax, dword [esi - 4]
sub eax, dword [esp + 0x50]
mov ecx, dword [esi]
sub ecx, dword [esp + 0x54]
sub esp, 0x10
mov dword [esi - 4], eax
mov eax, esp
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xec], ebx
movq xmm0, qword [esp + 0xe8]
movq qword [eax], xmm0
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
movq xmm0, qword [esp + 0xf0]
lea edi, [esp + 0x94]
mov dword [esi], ecx
movq qword [eax + 8], xmm0
call fcn.00472ce0
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
movq xmm0, qword [esp + 0x44]
movq qword [eax], xmm0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
movq xmm0, qword [esp + 0x4c]
movq qword [eax + 8], xmm0
mov eax, edi
add esi, 0xffffffe4
push eax
call fcn.00473410
mov eax, esi
call fcn.00472c80
lea esi, [esp + 0x84]
call fcn.00472be0
add dword [esp + 0x24], 0x24
sub dword [esp + 0x14], 1
jne 0x450870
xor edi, edi
cmp dword [esp + 0x180], edi
je 0x450a03
mov edi, dword [esp + 0x20c]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 4]
push edi
call fcn.0048b570
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov eax, esi
call fcn.00475a50
lea edx, [esp + 0x1dc]
push edx
lea eax, [esp + 0x1bc]
push eax
lea ecx, [esp + 0x19c]
push ecx
lea ecx, [esp + 0x17c]
call fcn.00475820
mov eax, dword [ebp + 4]
lea edx, [esp + 0x160]
push edx
mov ecx, edi
call fcn.0044f910
mov ecx, dword [eax]
mov eax, dword [eax + 4]
movss xmm2, dword [esi + 0x78]
add esp, 4
cvtsi2ss xmm0, ecx
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm0
ucomisd xmm2, xmm3
cvtsi2ss xmm1, eax
lahf
test ah, 0x44
jp 0x4509f0
movss xmm2, dword [esi + 0x7c]
cvtps2pd xmm2, xmm2
cvtss2sd xmm3, xmm1
ucomisd xmm2, xmm3
lahf
test ah, 0x44
jnp 0x4509f4
or dword [esi + 8], 1
movss dword [esi + 0x78], xmm0
movss dword [esi + 0x7c], xmm1
jmp 0x450c78
mov eax, dword [ebp]
cmp eax, 0x75
je 0x450c78
cmp eax, 0x76
je 0x450c78
push 4
call fcn.0049d50f
add esp, 4
mov dword [esp + 0x60], eax
cmp eax, edi
je 0x450a30
mov dword [eax], 1
mov esi, dword [esp + 0x20c]
lea eax, [esp + 0x60]
push eax
mov eax, dword [ebp + 4]
mov ecx, esi
mov byte [esp + 0x78], 1
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x74], edi
call fcn.0044f980
add esp, 4
cmp dword [esp + 0x70], edi
je 0x450c6f
mov eax, dword [ebp + 4]
mov ecx, esi
call fcn.0048c1c0
mov esi, dword [esp + 0x2c]
mov ecx, eax
mov eax, esi
call fcn.004017b0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x78]
push ecx
push eax
mov ecx, esi
call fcn.00440010
push 4
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
call fcn.0049d50f
add esp, 4
mov dword [esp + 0x84], eax
cmp eax, edi
je 0x450ac8
mov dword [eax], 1
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
push eax
lea edi, [esp + 0x38]
lea eax, [esp + 0xac]
mov byte [esp + 0x9c], 1
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
call fcn.00472b50
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
movq xmm0, qword [esp + 0x44]
movq qword [eax], xmm0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
movq xmm0, qword [esp + 0x4c]
movq qword [eax + 8], xmm0
lea eax, [esp + 0xb8]
push eax
lea esi, [esp + 0x74]
call fcn.00473410
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
push eax
lea edi, [esp + 0x38]
lea eax, [esp + 0x110]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], edx
call fcn.00472b50
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
movq xmm0, qword [esp + 0x44]
movq qword [eax], xmm0
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
movq xmm0, qword [esp + 0x4c]
movq qword [eax + 8], xmm0
lea eax, [esp + 0x11c]
push eax
call fcn.00473410
movss xmm0, dword [0x4d34b0]
lea ecx, [esp + 0x10c]
call fcn.00457af0
sub esp, 0x10
mov eax, esp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
movq xmm0, qword [esp + 0x44]
movq qword [eax], xmm0
lea ecx, [esp + 0xb8]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
movq xmm0, qword [esp + 0x4c]
push ecx
movq qword [eax + 8], xmm0
call fcn.00472e10
movss xmm0, dword [0x4d3be8]
lea ecx, [esp + 0xa8]
call fcn.00457af0
lea edx, [esp + 0x84]
push edx
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0xb0]
push ecx
mov ecx, esi
mov esi, dword [esp + 0x38]
call fcn.00475820
lea esi, [esp + 0x10c]
call fcn.00472be0
lea esi, [esp + 0xa8]
call fcn.00472be0
lea esi, [esp + 0x84]
call fcn.00472be0
lea esi, [esp + 0x60]
call fcn.00472be0
push fcn.00472c70
push 0x24
mov eax, 4
lea ecx, [esp + 0x178]
call fcn.0041eed0
mov ebx, dword [esp + 0x44]
jmp 0x451125
push 0x566aa8
call esi
mov edi, 0x1f8
call fcn.0045eff0
test eax, eax
je case.0x44fdad.107
mov edi, eax
call fcn.0044de10
mov ecx, eax
test ecx, ecx
je case.0x44fdad.107
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x14]
push edx
push eax
call fcn.00440010
mov edx, dword [esp + 0x210]
mov edi, dword [edx]
push ecx
call fcn.004401c0
cmp dword [ebp], 0x6f
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
je 0x450d26
push 0x566aa8
call esi
mov edi, 0x198
call fcn.0045eff0
test eax, eax
je 0x45014f
movq xmm0, qword [ebp + 0x24]
sub esp, 0x10
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp + 0x2c]
movq qword [ecx + 8], xmm0
call fcn.0044c110
jmp 0x450e62
mov eax, dword [ebp + 0xc]
shr eax, 1
cmp eax, 4
jne 0x450df5
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x450d42
add eax, 4
jmp 0x450d44
xor eax, eax
push eax
call fcn.0049d410
fstp dword [esp + 0x34]
mov eax, dword [ebp + 8]
add eax, 4
mov eax, dword [eax]
add esp, 4
test eax, eax
je 0x450d62
add eax, 4
jmp 0x450d64
xor eax, eax
push eax
call fcn.0049d2d3
mov esi, eax
mov eax, dword [ebp + 8]
add eax, 8
mov eax, dword [eax]
add esp, 4
test eax, eax
je 0x450d80
add eax, 4
jmp 0x450d82
xor eax, eax
push eax
call fcn.0049d2d3
mov ebx, eax
mov eax, dword [ebp + 8]
add eax, 0xc
mov eax, dword [eax]
add esp, 4
test eax, eax
je 0x450d9e
add eax, 4
jmp 0x450da0
xor eax, eax
push eax
call fcn.0049d410
fstp dword [esp + 0x20]
add esp, 4
push 0x566aa8
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov edi, 0x1f4
call fcn.0045eff0
test eax, eax
je 0x45014f
movq xmm0, qword [ebp + 0x24]
fld dword [esp + 0x1c]
push ebx
push esi
sub esp, 0x10
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp + 0x2c]
sub esp, 8
movq qword [ecx + 8], xmm0
fstp dword [esp + 4]
fld dword [esp + 0x50]
jmp 0x450e58
test eax, eax
je 0x450e08
push 0
mov ecx, str.Shadows_require_4_arguments__radius__xoffset__yoffset__opacity_
call fcn.0044e750
add esp, 4
push 0x566aa8
call esi
mov edi, 0x1f4
call fcn.0045eff0
test eax, eax
je 0x45014f
movq xmm0, qword [ebp + 0x24]
fld dword [0x4d3b40]
mov edx, 4
push edx
mov ecx, 3
push ecx
sub esp, 0x10
mov ecx, esp
movq qword [ecx], xmm0
movq xmm0, qword [ebp + 0x2c]
sub esp, 8
movq qword [ecx + 8], xmm0
fstp dword [esp + 4]
fld dword [0x4d39d8]
mov esi, eax
fstp dword [esp]
call fcn.0044c360
mov ebx, eax
test ebx, ebx
je 0x45014f
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
push edx
push eax
mov ecx, ebx
call fcn.00440010
mov ecx, dword [esp + 0x210]
mov edi, dword [ecx]
push ebx
call fcn.004401c0
cmp dword [ebp], 0x79
jne 0x451125
mov edx, dword [ebx]
mov eax, dword [edx + 0x64]
push 0
mov ecx, ebx
call eax
jmp 0x451125
cmp eax, 0x65
sete byte [esp + 0x13]
cmp eax, 0x66
sete byte [esp + 0x1b]
cmp eax, 0x74
push 4
sete byte [esp + 0x53]
call fcn.0049d50f
xor esi, esi
add esp, 4
mov dword [esp + 0x60], eax
cmp eax, esi
je 0x450ed8
mov dword [eax], 1
mov byte [esp + 0x74], 1
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x70], esi
cmp byte [esp + 0x13], bl
jne 0x450f1e
cmp byte [esp + 0x1b], bl
jne 0x450f1e
mov eax, dword [ebp + 4]
lea ecx, [esp + 0x60]
push ecx
mov ecx, dword [esp + 0x210]
call fcn.0044f980
jmp 0x450f7c
mov edx, dword [ebp + 0xc]
and edx, 0xfffffffe
cmp edx, 2
je 0x450f4e
push 0
mov ecx, str.This_bitmap_widget_must_reference_a_layer__target_.
call fcn.0044e750
add esp, 4
lea esi, [esp + 0x60]
call fcn.00472be0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1f0
ret
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x60]
push eax
call fcn.0044f280
add esp, 4
cmp dword [esp + 0x70], esi
jne 0x450f89
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x450f70
lea ecx, [eax + 4]
jmp 0x450f72
xor ecx, ecx
push str.Bitmap_not_loaded.
call fcn.0044e750
add esp, 4
cmp dword [esp + 0x70], esi
je 0x45111c
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
push 0x566aa8
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
cmp byte [esp + 0x13], bl
je 0x450fe0
mov edi, 0x194
call fcn.0045eff0
cmp eax, esi
je 0x450fcf
push eax
lea edi, [esp + 0x64]
call fcn.0044dea0
lea ecx, [ebp + 0x24]
mov ebx, eax
call fcn.00420040
jmp 0x4510dc
xor ebx, ebx
lea ecx, [ebp + 0x24]
mov eax, ebx
call fcn.00420040
jmp 0x4510dc
cmp byte [esp + 0x4f], bl
je 0x451007
mov edi, 0x8d4
call fcn.0045eff0
cmp eax, esi
je 0x451000
call fcn.0044e240
mov ebx, eax
jmp 0x4510dc
xor ebx, ebx
jmp 0x4510dc
mov edi, 0x2f4
call fcn.0045eff0
cmp eax, esi
je 0x451023
push eax
lea edi, [esp + 0x64]
call fcn.00420250
mov ebx, eax
jmp 0x451025
xor ebx, ebx
cmp byte [ebx + 0x123], 0
je 0x451032
or dword [ebx + 8], 2
cmp byte [esp + 0x1b], 0
mov byte [ebx + 0x123], 0
je 0x4510dc
mov eax, dword [ebp + 0x1c]
sub eax, dword [ebp + 0x14]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fild dword [esp + 0x68]
test ecx, ecx
jge 0x451064
fadd dword [0x4d3380]
fdivp st(1)
mov edx, dword [ebp + 0x20]
sub edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], edx
fstp dword [esp + 0x30]
fild dword [esp + 0x1c]
fild dword [esp + 0x6c]
test eax, eax
jge 0x45108a
fadd dword [0x4d3380]
fdivp st(1)
fstp dword [esp + 0x44]
fld dword [esp + 0x44]
fld dword [ebx + 0x8c]
movss xmm0, dword [esp + 0x44]
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x4510c2
movss xmm1, dword [ebx + 0x90]
cvtps2pd xmm1, xmm1
cvtps2pd xmm2, xmm0
ucomisd xmm1, xmm2
lahf
test ah, 0x44
jnp 0x4510c6
or dword [ebx + 8], 1
movss xmm1, dword [esp + 0x30]
movss dword [ebx + 0x8c], xmm1
movss dword [ebx + 0x90], xmm0
mov ecx, dword [esp + 0x210]
mov edi, dword [ecx]
push ebx
call fcn.004401c0
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x20c]
call fcn.0048c1c0
mov ecx, eax
mov eax, ebx
call fcn.004017b0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push eax
mov ecx, ebx
call fcn.00440010
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], esi
lea esi, [esp + 0x60]
call fcn.00472be0
test ebx, ebx
je 0x451184
mov eax, dword [esp + 0x214]
add ebp, 0x10
push ebp
lea edi, [esp + 0x28]
call fcn.0044e990
add esp, 4
mov ecx, edi
push ecx
push ebx
call fcn.00454250
add esp, 8
test eax, eax
je 0x45116c
mov eax, dword [esp + 0x24]
test eax, eax
je 0x45115d
lea ecx, [eax + 4]
jmp 0x45115f
xor ecx, ecx
push str.Collision_found___layer_object_names_must_be_unique_
call fcn.0044e750
add esp, 4
lea edx, [esp + 0x24]
push edx
mov eax, ebx
call fcn.004511d0
add esp, 4
lea ecx, [esp + 0x24]
call fcn.00401420
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1f0
ret