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

Disassembly:
sub esp, 0x1c0
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x1d4]
push str.APPLYTRANSFORM
push eax
mov ebx, ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985275
mov eax, dword [0x10f43370]
mov edx, dword [ebx + 0x2c]
lea ecx, [ebx + 0x2c]
push eax
push str.ACTOR_APPLYTRANSFORM
call dword [edx]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea ecx, [esp + 0x1d4]
push 0x10e5bcb4
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985505
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_Set
call dword [edx + 0x74]
mov ecx, dword [0x10fac9e4]
xor ebp, ebp
push ebp
call fcn.10a28d40
mov edi, dword [ebx + 0x1c0]
lea eax, [esp + 0x3c]
push eax
sub esp, 0xc
mov edx, ebp
mov ecx, esp
mov dword [ecx], edx
mov eax, ebp
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov ecx, dword [ebx + 0x114]
lea esi, [ebx + 0x1c0]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
call fcn.10921730
add eax, 0x148
push eax
push ebp
mov ecx, esi
call dword [edi]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
mov ecx, 0xc
mov esi, 0x10fd11e0
lea edi, [esp + 0xf0]
lea eax, [esp + 0xb0]
rep movsd dword es:[edi], dword [esi]
push eax
mov ecx, 0x10fd11e0
call fcn.10920e10
mov esi, eax
mov ecx, 0xc
lea edi, [esp + 0x120]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
lea ecx, [esp + 0x60]
push ecx
add eax, 0x27c
push eax
lea edx, [esp + 0xf8]
push edx
call fcn.10920d60
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0x114]
add esp, 0xc
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], edx
call fcn.10921730
fld dword [eax + 0x148]
fsub dword [esp + 0x20]
add eax, 0x148
mov dword [esp + 0x20], ebp
fstp dword [eax]
fld dword [eax + 4]
fsub dword [esp + 0x24]
mov dword [esp + 0x24], ebp
fstp dword [eax + 4]
fld dword [eax + 8]
fsub dword [esp + 0x28]
mov dword [esp + 0x28], ebp
fstp dword [eax + 8]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
add eax, 0x27c
mov ecx, ebp
mov dword [eax], ecx
mov edx, ebp
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov edx, dword [0x10fac9e4]
mov ecx, dword [edx + 0x58]
push ebp
add ecx, 0x2c
call fcn.10921ac0
push ebp
push ecx
mov eax, esp
mov dword [esp + 0x38], esp
mov dword [eax], ebp
call fcn.109c2d40
push eax
push 0x6c
call fcn.10930ef0
add esp, 0x10
cmp eax, ebp
je 0x10985413
mov ecx, eax
call fcn.1092d570
mov edi, eax
jmp 0x10985415
xor edi, edi
mov eax, dword [0x10fac9e4]
mov eax, dword [eax + 0x58]
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x1c]
mov edx, dword [0x110a36dc]
mov esi, dword [edx + ecx*4]
mov dword [esp + 0x1c], eax
mov eax, dword [0x110b8a30]
add esi, 0xc
cmp eax, ebp
jne 0x10985453
push 0x10e44b40
call fcn.10a12860
add esp, 4
mov dword [0x110b8a30], eax
call fcn.10a11f90
mov edx, dword [0x10fcccac]
mov eax, dword [0x10fac9e8]
mov ecx, dword [0x110b8a30]
mov ebp, dword [edi]
push edx
push eax
mov dword [esp + 0x60], ecx
call fcn.109b8b10
mov ecx, dword [0x10fac9e8]
add esp, 4
lea edx, [ecx + eax*2]
mov eax, dword [0x10fac9e4]
mov ecx, dword [eax + 0x58]
push edx
push 0x10fac9e8
push 0x10e4cbf8
push ecx
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push 1
push esi
call fcn.109d7850
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x74]
mov ecx, dword [ebx + 0x114]
push edx
push eax
push ecx
mov ecx, edi
call dword [ebp + 0x70]
mov eax, dword [0x10fac9e4]
mov edx, dword [ebx]
push 1
push 0
push eax
mov ecx, ebx
call dword [edx + 0x1e4]
mov ecx, dword [0x10fac9e4]
call fcn.10a2c780
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
call dword [edx + 0x78]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xf8]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea edx, [esp + 0x1d4]
push str.MORE
push edx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985616
mov ecx, dword [ebx + 0x12c]
mov eax, dword [ecx]
call dword [eax + 0x7c]
mov ecx, dword [0x10fac9e4]
push 0
call fcn.10a28d40
push 0
push ecx
mov eax, esp
mov dword [esp + 0x38], esp
mov dword [eax], 0
call fcn.109c2d40
push eax
push 0x6c
call fcn.10930ef0
add esp, 0x10
test eax, eax
je 0x10985568
mov ecx, eax
call fcn.1092d570
mov edi, eax
jmp 0x1098556a
xor edi, edi
mov ecx, dword [0x10fac9e4]
mov eax, dword [ecx + 0x58]
mov edx, dword [eax + 0x24]
mov ecx, dword [0x110a36dc]
mov esi, dword [ecx + edx*4]
mov edx, dword [eax + 0x1c]
mov eax, dword [0x10fcccac]
mov ecx, dword [0x10fac9e8]
mov ebp, dword [edi]
push eax
push ecx
add esi, 0xc
mov dword [esp + 0x24], edx
call fcn.109b8b10
mov edx, dword [0x10fac9e8]
mov ecx, dword [0x10fac9e4]
add esp, 4
lea eax, [edx + eax*2]
mov edx, dword [ecx + 0x58]
push eax
push 0x10fac9e8
push 0x10e4cbf8
push edx
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
push 1
push esi
call fcn.109d7850
mov eax, dword [esp + 0x38]
push eax
call fcn.10905a70
mov ecx, dword [ebx + 0x114]
push eax
push ecx
mov ecx, edi
call dword [ebp + 0x70]
mov ecx, dword [ebx + 0x114]
mov esi, dword [ebx]
push 1
push 0
call fcn.10921730
mov edx, dword [eax + 0x258]
push edx
mov ecx, ebx
call dword [esi + 0x1e4]
mov ecx, dword [0x10fac9e4]
call fcn.10a2c780
jmp 0x109866a5
lea ecx, [esp + 0x1d4]
push str.RESET
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x1098566d
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_Reset
call dword [edx + 0x74]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1d4]
jmp 0x109866a5
lea ecx, [esp + 0x1d4]
push str.SCALE
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985998
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_Scale
call dword [edx + 0x74]
mov ecx, dword [esp + 0x1d4]
lea eax, [esp + 0x4c]
push eax
push ecx
call fcn.10b5fab0
fld dword [0x10e4500c]
fld dword [esp + 0x54]
add esp, 8
fucompp
fnstsw ax
test ah, 0x44
jp 0x109856cc
mov dword [esp + 0x4c], 0x3f800000
fld dword [0x10e4500c]
fld dword [esp + 0x50]
fucompp
fnstsw ax
test ah, 0x44
jp 0x109856e7
mov dword [esp + 0x50], 0x3f800000
fld dword [0x10e4500c]
fld dword [esp + 0x54]
fucompp
fnstsw ax
test ah, 0x44
jp 0x10985702
mov dword [esp + 0x54], 0x3f800000
fld dword [0x10e45008]
mov eax, dword [ebx + 0x114]
fdiv dword [esp + 0x4c]
mov ecx, dword [eax + 0x34]
xor edi, edi
test ecx, ecx
mov dword [esp + 0x38], edi
fstp dword [esp + 0x20]
fld dword [0x10e45008]
fdiv dword [esp + 0x50]
fstp dword [esp + 0x24]
fld dword [0x10e45008]
fdiv dword [esp + 0x54]
fstp dword [esp + 0x28]
jle 0x1098596a
mov edx, dword [eax + 0x30]
mov eax, dword [edx + edi*4]
push eax
call fcn.10926420
mov esi, eax
add esp, 4
test esi, esi
je 0x10985954
mov eax, dword [esi + 0x350]
test ah, ah
jns 0x10985954
mov ecx, esi
call fcn.1097da00
test eax, eax
je 0x10985954
mov ecx, dword [esi + 0x258]
push 0
call fcn.10a28d40
mov ecx, dword [esi + 0x258]
mov ecx, dword [ecx + 0x58]
add ecx, 0x2c
call fcn.1097e650
mov edx, dword [esi + 0x258]
mov eax, dword [edx + 0x58]
mov ecx, dword [eax + 0x30]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x10985949
mov dword [esp + 0x14], 0
jmp 0x109857c0
mov ecx, dword [eax + 0x2c]
fld dword [esp + 0x20]
mov edx, dword [esp + 0x14]
fmul dword [ecx + edx + 0x18]
add ecx, edx
mov eax, ecx
fstp dword [ecx + 0x18]
fld dword [esp + 0x24]
fmul dword [ecx + 0x1c]
fstp dword [ecx + 0x1c]
fld dword [esp + 0x28]
fmul dword [ecx + 0x20]
fstp dword [ecx + 0x20]
fld dword [esp + 0x20]
fmul dword [ecx + 0x24]
fstp dword [ecx + 0x24]
fld dword [esp + 0x24]
fmul dword [ecx + 0x28]
fstp dword [ecx + 0x28]
fld dword [esp + 0x28]
fmul dword [ecx + 0x2c]
fstp dword [ecx + 0x2c]
fld dword [ecx]
fsub dword [esi + 0x27c]
fld dword [ecx + 4]
fsub dword [esi + 0x280]
fld dword [ecx + 8]
fsub dword [esi + 0x284]
fstp dword [esp + 0xac]
fxch st(1)
fmul dword [esp + 0x4c]
fstp dword [esp + 0x94]
fmul dword [esp + 0x50]
fld dword [esp + 0xac]
fmul dword [esp + 0x54]
fld dword [esp + 0x94]
fadd dword [esi + 0x27c]
fstp dword [esp + 0x60]
mov edx, dword [esp + 0x60]
fxch st(1)
fadd dword [esi + 0x280]
fstp dword [esp + 0x64]
fadd dword [esi + 0x284]
mov dword [eax], edx
mov edx, dword [esp + 0x64]
mov dword [eax + 4], edx
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x68]
mov dword [eax + 8], edx
mov eax, dword [ecx + 0x100]
xor edx, edx
test eax, eax
jle 0x10985913
lea eax, [ecx + 0x30]
fld dword [eax]
mov edi, eax
fsub dword [esi + 0x27c]
inc edx
fld dword [eax + 4]
add eax, 0xc
fsub dword [esi + 0x280]
fld dword [eax - 4]
fsub dword [esi + 0x284]
fstp dword [esp + 0x88]
fxch st(1)
fmul dword [esp + 0x4c]
fstp dword [esp + 0x70]
fmul dword [esp + 0x50]
fld dword [esp + 0x88]
fmul dword [esp + 0x54]
fld dword [esp + 0x70]
fadd dword [esi + 0x27c]
fstp dword [esp + 0x3c]
mov ebp, dword [esp + 0x3c]
fxch st(1)
fadd dword [esi + 0x280]
fstp dword [esp + 0x40]
fadd dword [esi + 0x284]
mov dword [edi], ebp
mov ebp, dword [esp + 0x40]
mov dword [edi + 4], ebp
fstp dword [esp + 0x44]
mov ebp, dword [esp + 0x44]
mov dword [edi + 8], ebp
cmp edx, dword [ecx + 0x100]
jl 0x10985893
push 0
call fcn.10a112d0
mov eax, dword [esi + 0x258]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x30]
inc ecx
add edi, 0x148
cmp ecx, edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], edi
jl 0x109857c0
mov edi, dword [esp + 0x38]
mov ecx, dword [esi + 0x258]
call fcn.10a2c780
mov eax, dword [ebx + 0x114]
mov ecx, dword [eax + 0x34]
inc edi
cmp edi, ecx
mov dword [esp + 0x38], edi
jl 0x10985743
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
call dword [edx + 0x78]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xf0]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea edx, [esp + 0x1d4]
push str.MOVETO
push edx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985a24
mov ecx, dword [ebx + 0x12c]
mov eax, dword [ecx]
push 1
push str.Brush_MoveTo
call dword [eax + 0x74]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
add eax, 0x148
push eax
mov eax, dword [esp + 0x1d8]
push eax
call fcn.10b5fab0
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
add esp, 8
call dword [edx + 0x78]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xf0]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea edx, [esp + 0x1d4]
push str.MOVEREL
push edx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985b82
mov ecx, dword [ebx + 0x12c]
mov eax, dword [ecx]
push 1
push str.Brush_MoveRel
call dword [eax + 0x74]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x20]
mov ecx, dword [esp + 0x1d4]
lea eax, [esp + 0x4c]
push eax
push ecx
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call fcn.10b5fab0
mov ecx, dword [ebx + 0x114]
add esp, 8
call fcn.10921730
fld dword [esp + 0x4c]
mov ecx, eax
fadd dword [ecx + 0x148]
add ecx, 0x148
fstp dword [esp + 0x20]
fld dword [esp + 0x50]
fadd dword [ecx + 4]
fstp dword [esp + 0x24]
fld dword [esp + 0x54]
fadd dword [ecx + 8]
fcom dword [0x10e5bc10]
fnstsw ax
test ah, 5
jp 0x10985adc
fstp st(0)
fld dword [0x10e5bc10]
jmp 0x10985af1
fcom dword [0x10e5bc0c]
fnstsw ax
test ah, 5
jnp 0x10985af1
fstp st(0)
fld dword [0x10e5bc0c]
fld dword [esp + 0x24]
fcomp dword [0x10e5bc10]
fnstsw ax
test ah, 5
jp 0x10985b0a
fld dword [0x10e5bc10]
jmp 0x10985b27
fld dword [esp + 0x24]
fcomp dword [0x10e5bc0c]
fnstsw ax
test ah, 5
jp 0x10985b21
fld dword [esp + 0x24]
jmp 0x10985b27
fld dword [0x10e5bc0c]
fld dword [esp + 0x20]
fcomp dword [0x10e5bc10]
fnstsw ax
test ah, 5
jp 0x10985b40
fld dword [0x10e5bc10]
jmp 0x10985b5d
fld dword [esp + 0x20]
fcomp dword [0x10e5bc0c]
fnstsw ax
test ah, 5
jp 0x10985b57
fld dword [esp + 0x20]
jmp 0x10985b5d
fld dword [0x10e5bc0c]
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [ecx], edx
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [ecx + 4], eax
fstp dword [esp + 0x44]
mov edx, dword [esp + 0x44]
mov dword [ecx + 8], edx
jmp 0x109866a5
lea ecx, [esp + 0x1d4]
push 0x10e5bc04
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985c79
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_Add
call dword [edx + 0x74]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xec]
mov eax, dword [esp + 0x1d4]
lea edx, [esp + 0x14]
push edx
push str.FLAGS
push eax
mov dword [esp + 0x20], 0
call fcn.109b98d0
mov ecx, dword [ebx + 0x114]
mov edx, dword [ecx]
add esp, 0xc
push 0
call dword [edx + 0x70]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x114]
mov esi, dword [ebx]
push 1
push eax
push ecx
call fcn.10921730
push eax
mov ecx, ebx
call dword [esi + 0x110]
test eax, eax
je 0x10985c36
mov ecx, dword [esp + 0x14]
push 1
push 1
push 1
push ecx
mov ecx, dword [ebx + 0x114]
mov ecx, dword [ecx + 0x90]
mov edx, dword [ebx]
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x1dc]
mov edx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x114]
mov ecx, dword [eax + 0x90]
push edx
call fcn.10a2f140
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
call dword [edx + 0x78]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xf0]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea edx, [esp + 0x1d4]
push str.ADDMOVER
push edx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985daf
mov eax, dword [ebx + 0x120]
test eax, eax
je 0x109866c1
mov ecx, dword [ebx + 0x12c]
mov eax, dword [ecx]
push 1
push str.Brush_AddMover
call dword [eax + 0x74]
mov ecx, dword [ebx + 0x114]
mov edx, dword [ecx]
push 0
call dword [edx + 0x70]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xec]
mov eax, dword [esp + 0x1d4]
push 0xffffffffffffffff
lea edx, [esp + 0x14]
push edx
push 0x10e4bef8
push eax
mov dword [esp + 0x20], 0
call fcn.10917e20
mov eax, dword [esp + 0x20]
add esp, 0x10
test eax, eax
je 0x10985d13
call fcn.109068b0
mov ecx, dword [esp + 0x10]
push eax
call fcn.10917f60
test eax, eax
jne 0x10985d1c
call fcn.109068b0
mov dword [esp + 0x10], eax
mov ecx, dword [ebx + 0x114]
mov edx, dword [ecx]
push 0
call dword [edx + 0x70]
xor edx, edx
push edx
push edx
push edx
push edx
push edx
push edx
sub esp, 0xc
xor eax, eax
mov esi, esp
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov ecx, dword [ebx + 0x114]
mov dword [esi + 8], edx
call fcn.10921730
add eax, 0x148
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
push ecx
mov dword [ecx + 8], eax
mov eax, esp
mov dword [eax], 0
mov ecx, dword [ebx + 0x114]
mov eax, dword [esp + 0x44]
mov edx, dword [ecx]
mov dword [esp + 0x64], esp
push eax
call dword [edx + 0xb8]
mov esi, eax
test esi, esi
je 0x109866a5
mov ecx, dword [ebx + 0x120]
mov dword [esi + 0x40], ecx
push 8
mov ecx, esi
call fcn.10a40030
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x48]
jmp 0x109866a5
lea ecx, [esp + 0x1d4]
push str.ADDVOLUME
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10985f1d
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_AddVolume
call dword [edx + 0x74]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ecx]
xor edi, edi
push edi
call dword [eax + 0x70]
mov eax, dword [ebx + 0x114]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0xec]
mov edx, dword [esp + 0x1d4]
push 0xffffffffffffffff
lea ecx, [esp + 0x14]
push ecx
push 0x10e4bef8
push edx
mov dword [esp + 0x20], edi
call fcn.10917e20
mov eax, dword [esp + 0x20]
add esp, 0x10
cmp eax, edi
je 0x10985e38
call fcn.10906e20
mov ecx, dword [esp + 0x10]
push eax
call fcn.10917f60
test eax, eax
jne 0x10985e41
call fcn.10906e20
mov dword [esp + 0x10], eax
mov ecx, dword [ebx + 0x114]
mov eax, dword [ecx]
push edi
call dword [eax + 0x70]
push edi
push edi
push edi
push edi
push edi
push edi
sub esp, 0xc
xor eax, eax
mov esi, esp
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov ecx, dword [ebx + 0x114]
xor edx, edx
mov dword [esi + 8], edx
call fcn.10921730
add eax, 0x148
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
push ecx
mov dword [ecx + 8], eax
mov eax, esp
mov dword [eax], edi
mov ecx, dword [ebx + 0x114]
mov eax, dword [esp + 0x44]
mov edx, dword [ecx]
mov dword [esp + 0x64], esp
push eax
call dword [edx + 0xb8]
mov esi, eax
cmp esi, edi
je 0x109866a5
mov ecx, dword [ebx + 0x114]
mov ebp, dword [ebx]
push 1
push 1
push edi
call fcn.10921730
push eax
push esi
mov ecx, ebx
call dword [ebp + 0x10c]
mov eax, dword [esi + 0x258]
cmp eax, edi
je 0x10985f11
mov eax, dword [eax + 0x58]
mov edx, dword [eax + 0x30]
xor ecx, ecx
cmp edx, edi
jle 0x10985f11
xor edx, edx
jmp 0x10985ef0
mov eax, dword [eax + 0x2c]
mov dword [eax + edx + 0xf8], edi
mov eax, dword [esi + 0x258]
mov eax, dword [eax + 0x58]
mov ebp, dword [eax + 0x30]
inc ecx
add edx, 0x148
cmp ecx, ebp
jl 0x10985ef0
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x48]
jmp 0x109866a5
lea ecx, [esp + 0x1d4]
push str.ADDANTIPORTAL
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x1098652a
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_AddAntiPortal
call dword [edx + 0x74]
xor edx, edx
push edx
push edx
push edx
push edx
push edx
push edx
sub esp, 0xc
xor eax, eax
mov esi, esp
xor ecx, ecx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov ecx, dword [ebx + 0x114]
mov dword [esi + 8], edx
call fcn.10921730
add eax, 0x148
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
push ecx
mov dword [ecx + 8], eax
mov eax, esp
mov dword [eax], 0
mov ecx, dword [ebx + 0x114]
mov esi, dword [ecx]
mov dword [esp + 0x64], esp
call fcn.10906dc0
mov ecx, dword [ebx + 0x114]
push eax
call dword [esi + 0xb8]
test eax, eax
mov dword [esp + 0x30], eax
je 0x109864ff
push 0
push ecx
mov eax, esp
mov dword [eax], 0
mov edx, dword [ebx + 0x114]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x74], esp
push eax
call fcn.10905ad0
push eax
call fcn.109822c0
mov ecx, dword [ebx + 0x114]
add esp, 0x10
mov dword [esp + 0x10], eax
call fcn.10921730
mov eax, dword [eax + 0x258]
mov ebp, dword [eax + 0x58]
mov ecx, dword [ebx + 0x114]
mov dword [esp + 0x38], ebp
call fcn.10921730
fld dword [eax + 0x148]
add eax, 0x148
fchs
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
fld dword [eax + 4]
sub esp, 0xc
fchs
mov ecx, esp
fstp dword [esp + 0x4c]
mov dword [ecx], edx
fld dword [eax + 8]
mov eax, dword [esp + 0x4c]
fchs
mov dword [ecx + 4], eax
fstp dword [esp + 0x50]
mov edx, dword [esp + 0x50]
mov dword [ecx + 8], edx
lea ecx, [esp + 0x19c]
call fcn.1097d710
mov esi, eax
mov ecx, 0x10
lea edi, [esp + 0x150]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
mov edx, dword [eax]
sub esp, 0x40
mov edi, esp
mov ecx, 0x10
lea esi, [esp + 0x190]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0xf0]
push ecx
lea ecx, [esp + 0x134]
push ecx
mov ecx, eax
call dword [edx + 0xc0]
mov ecx, eax
call fcn.1097d370
mov eax, dword [ebp + 0x30]
test eax, eax
mov dword [esp + 0x18], 0
jle 0x10986306
mov dword [esp + 0x48], 0
lea ecx, [ecx]
mov eax, dword [esp + 0x48]
mov ecx, dword [ebp + 0x2c]
add ecx, eax
xor eax, eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], eax
test eax, eax
je 0x109860e6
mov edx, dword [ecx + 0xf0]
test dh, 1
je 0x109862d6
mov edx, dword [esp + 0x10]
add edx, 0x58
push edx
push 0x1c
call fcn.1097f390
add esp, 8
test eax, eax
je 0x10986109
mov ecx, eax
call fcn.10984b60
mov dword [esp + 0x14], eax
jmp 0x10986111
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x100]
xor ebp, ebp
test eax, eax
jle 0x1098625c
lea ecx, [esp + 0x70]
lea edx, [esp + 0xb0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x10986145
sub eax, ebp
dec eax
jmp 0x10986147
mov eax, ebp
mov ecx, dword [esp + 0x2c]
lea eax, [eax + eax*2 + 0xc]
mov edx, dword [ecx + eax*4]
lea eax, [ecx + eax*4]
mov ecx, dword [eax + 4]
mov dword [esp + 0x70], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], 0x3f800000
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x1c]
lea edi, [esp + 0x80]
fld dword [esi]
fmul dword [edx]
fld dword [esi]
fmul dword [edx + 4]
fld dword [esi]
fmul dword [edx + 8]
fld dword [esi]
fmul dword [edx + 0xc]
fld dword [esi + 4]
fmul dword [edx + 0x10]
fld dword [esi + 4]
fmul dword [edx + 0x14]
fld dword [esi + 4]
fmul dword [edx + 0x18]
fld dword [esi + 4]
fmul dword [edx + 0x1c]
fxch st(3)
faddp st(7)
faddp st(4)
faddp st(4)
faddp st(1)
fld dword [esi + 8]
fmul dword [edx + 0x20]
fld dword [esi + 8]
fmul dword [edx + 0x24]
fld dword [esi + 8]
fmul dword [edx + 0x28]
fld dword [esi + 8]
fmul dword [edx + 0x2c]
fxch st(3)
faddp st(7)
faddp st(4)
faddp st(4)
faddp st(1)
fld dword [esi + 0xc]
fmul dword [edx + 0x30]
fld dword [esi + 0xc]
fmul dword [edx + 0x34]
fld dword [esi + 0xc]
fmul dword [edx + 0x38]
fld dword [esi + 0xc]
fmul dword [edx + 0x3c]
fxch st(3)
faddp st(7)
faddp st(4)
faddp st(4)
faddp st(1)
fxch st(3)
fstp dword [edi]
fxch st(1)
fstp dword [edi + 4]
fstp dword [edi + 8]
fstp dword [edi + 0xc]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x3c]
push eax
add ecx, 0x10
mov dword [esp + 0x48], edx
call fcn.10946720
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x14]
add ecx, 0x70
call fcn.10971530
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x100]
inc ebp
cmp ebp, eax
jl 0x10986138
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x10]
lea ecx, [eax + 0x18]
mov edi, dword [ecx]
sub esp, 0xc
mov edx, esp
mov dword [edx], edi
mov edi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [edx + 4], edi
mov dword [edx + 8], ecx
lea edx, [eax + 0xc]
mov edi, dword [edx]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edi
mov edi, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [ecx + 4], edi
mov dword [ecx + 8], edx
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
lea ecx, [esp + 0xb8]
call fcn.10945680
mov ecx, dword [eax]
mov ebp, dword [esp + 0x38]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov dword [esi + 0xc], edx
inc eax
cmp eax, 2
mov dword [esp + 0x34], eax
jl 0x109860d3
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x48]
mov ecx, dword [ebp + 0x30]
inc eax
add edx, 0x148
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x48], edx
jl 0x109860c0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x5c]
xor ecx, ecx
test eax, eax
mov dword [esp + 0x1c], ecx
jle 0x109864ec
mov dword [esp + 0x14], ecx
nop
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x58]
mov esi, dword [esp + 0x14]
add edx, esi
inc ecx
cmp ecx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x38], ecx
jge 0x109864ca
mov eax, esi
add eax, 0x1c
mov dword [esp + 0x18], eax
jmp 0x10986350
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x58]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
add eax, ecx
mov dword [esp + 0x5c], eax
mov eax, dword [edx + 0x14]
test eax, eax
mov dword [esp + 0x2c], 0
jle 0x109864a7
jmp 0x10986380
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x14]
xor edi, edi
test ecx, ecx
jle 0x1098648f
mov ebp, dword [esp + 0x2c]
lea ebp, [ebp + ebp*2]
shl ebp, 2
mov dword [esp + 0x58], ebp
mov dword [esp + 0x48], edi
mov edx, dword [esp + 0x5c]
mov esi, dword [edx + 0x10]
lea eax, [edi + 1]
mov dword [esp + 0x90], eax
cdq
idiv ecx
mov ecx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x10]
lea eax, [edx + edx*2]
fld dword [esi + eax*4]
lea edx, [esi + eax*4]
fld dword [ecx + ebp]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1098646e
fld dword [edx + 4]
fld dword [ecx + ebp + 4]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1098646e
fld dword [edx + 8]
fld dword [ecx + ebp + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1098646e
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
inc eax
cdq
idiv dword [ebp + 0x14]
lea edx, [edx + edx*2]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0x48]
fld dword [edx + esi]
fld dword [ecx]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1098646a
fld dword [edx + esi + 4]
fld dword [ecx + 4]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1098646a
fld dword [edx + esi + 8]
fld dword [ecx + 8]
fucompp
fnstsw ax
test ah, 0x44
jp 0x1098646a
mov eax, dword [esp + 0x10]
add eax, 0x64
push eax
push 0x10
call fcn.1097f3d0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
add esp, 8
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
mov dword [eax + 0xc], edi
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x90]
add ecx, 0xc
mov dword [esp + 0x48], ecx
mov ecx, dword [edx + 0x14]
cmp edi, ecx
jl 0x109863a4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov edx, dword [ecx + 0x14]
inc eax
cmp eax, edx
mov dword [esp + 0x2c], eax
jl 0x10986380
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
add edx, 0x1c
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x5c]
inc eax
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x10986350
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov eax, dword [eax + 0x5c]
add esi, 0x1c
cmp ecx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], esi
jl 0x10986320
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx]
mov dword [ecx + 0x29c], edx
call dword [eax + 0x48]
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
call dword [edx + 0x78]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xf0]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea edx, [esp + 0x1d4]
push str.SUBTRACT
push edx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x109865a3
mov ecx, dword [ebx + 0x12c]
mov eax, dword [ecx]
push 1
push str.Brush_Subtract
call dword [eax + 0x74]
mov eax, dword [ebx + 0x114]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0xec]
mov ecx, dword [ebx + 0x114]
mov edx, dword [ecx]
push 0
call dword [edx + 0x70]
mov ecx, dword [ebx + 0x114]
mov esi, dword [ebx]
push 2
push 0
push ecx
call fcn.10921730
push eax
mov ecx, ebx
call dword [esi + 0x110]
test eax, eax
je 0x10985c36
push 1
push 1
push 2
push 0
jmp 0x10985c1e
lea edx, [esp + 0x1d4]
push str.FROM
push edx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x109866d3
lea eax, [esp + 0x1d4]
push str.INTERSECTION
push eax
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10986622
mov ecx, dword [esp + 0x1d8]
push str.Brush_from_intersection
call fcn.109badb0
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_From_Intersection
call dword [edx + 0x74]
mov ecx, dword [0x10fac9e4]
push 0
call fcn.10a28d40
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xec]
push 1
push 0
push 3
jmp 0x10986686
lea ecx, [esp + 0x1d4]
push str.DEINTERSECTION
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10986d35
mov ecx, dword [esp + 0x1d8]
push str.Brush_from_deintersection
call fcn.109badb0
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_From_Deintersection
call dword [edx + 0x74]
mov ecx, dword [0x10fac9e4]
push 0
call fcn.10a28d40
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xec]
push 1
push 0
push 4
mov ecx, dword [ebx + 0x114]
mov edx, dword [ecx + 0x90]
mov esi, dword [ebx]
push 0
push edx
call fcn.10921730
push eax
mov ecx, ebx
call dword [esi + 0x1dc]
mov ecx, dword [ebx + 0x12c]
mov eax, dword [ecx]
call dword [eax + 0x78]
mov eax, dword [ebx + 0x114]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0xf0]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea ecx, [esp + 0x1d4]
push 0x10e5b11c
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x1098674b
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push 1
push str.Brush_New
call dword [edx + 0x74]
mov ecx, dword [0x10fac9e4]
push 0
call fcn.10a28d40
mov eax, dword [0x10fac9e4]
mov ecx, dword [eax + 0x58]
push 0
add ecx, 0x2c
call fcn.10921ac0
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
call dword [edx + 0x78]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0xf0]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea edx, [esp + 0x1d4]
push 0x10e5b248
push edx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x1098682d
mov eax, dword [esp + 0x1d4]
push 0
push 0x100
push 0x10fac1e0
push str.FILE
push eax
call fcn.109b9410
add esp, 0x14
test eax, eax
je 0x10986d35
mov ecx, dword [ebx + 0x12c]
mov edx, dword [ecx]
push str.loading_brush
call dword [edx + 0x70]
mov ecx, dword [ebx + 0x114]
call fcn.10921730
add eax, 0x148
mov esi, dword [eax]
mov edi, dword [eax + 4]
mov ebp, dword [eax + 8]
mov eax, dword [ebx + 0x114]
mov ecx, dword [eax + 0x1c]
push 0
push 0x10fac1e0
push ecx
call fcn.109d2440
mov ecx, dword [ebx + 0x114]
add esp, 0xc
call fcn.10921730
add eax, 0x148
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ebp
mov ecx, dword [ebx + 0x114]
mov esi, dword [ebx]
push 1
push 0
call fcn.10921730
mov edx, dword [eax + 0x258]
push edx
mov ecx, ebx
call dword [esi + 0x1e4]
mov eax, dword [ebx]
push str.loading_brush
push 1
mov ecx, ebx
call dword [eax + 0xe8]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea ecx, [esp + 0x1d4]
push str.SAVE
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x109868c1
mov edx, dword [esp + 0x1d4]
push 0
push 0x100
push 0x10fac1e0
push str.FILE
push edx
call fcn.109b9410
add esp, 0x14
test eax, eax
je 0x10986b61
mov eax, dword [esp + 0x1d8]
push 0x10fac1e0
push str.Saving__s
push eax
call fcn.109baf50
mov ecx, dword [0x10fcccac]
mov edx, dword [0x10fac9e4]
mov eax, dword [ebx + 0x114]
push 0
push ecx
mov ecx, dword [eax + 0x1c]
push 0x10fac1e0
push 0
push edx
push ecx
call fcn.109d04e0
add esp, 0x24
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea edx, [esp + 0x1d4]
push str.IMPORT
push edx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10986ad3
mov eax, dword [esp + 0x1d4]
xor edi, edi
push edi
push 0x100
push 0x10fac1e0
push str.FILE
push eax
call fcn.109b9410
add esp, 0x14
test eax, eax
je 0x10986b61
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
push 1
push str.Importing_brush
call dword [edx + 0xc]
mov ecx, dword [ebx + 0x12c]
mov eax, dword [ecx]
push 1
push str.Brush_Import
call dword [eax + 0x74]
mov ecx, dword [0x10fac9e4]
mov ecx, dword [ecx + 0x58]
mov edx, dword [ecx]
call dword [edx + 0x20]
mov eax, dword [0x10fac9e4]
mov ecx, dword [eax + 0x58]
push edi
add ecx, 0x2c
call fcn.10921ac0
mov edx, dword [esp + 0x1d4]
lea ecx, [esp + 0x1c]
push ecx
push str.MERGE
push edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
call fcn.109b9910
mov ecx, dword [esp + 0x1e0]
lea eax, [esp + 0x24]
push eax
push str.FLAGS
push ecx
call fcn.109b9840
mov edx, dword [0x10fac9e4]
mov dword [edx + 0x110], edi
mov eax, dword [0x10fac9e4]
mov ecx, dword [eax + 0x58]
mov edx, dword [ecx + 0x24]
mov esi, dword [ecx + 0x1c]
mov ecx, dword [0x10fcccac]
mov eax, dword [0x110a36dc]
mov eax, dword [eax + edx*4]
add esp, 0x18
push ecx
push edi
push edi
push edi
push 0x10fac1e0
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x4c], esp
add eax, 0xc
push 1
push eax
call fcn.109d7850
mov edx, dword [0x10fab8e8]
mov eax, dword [edx + 0x114]
push esi
push eax
call fcn.1097f410
mov eax, dword [esp + 0x3c]
add esp, 0x24
cmp eax, edi
je 0x10986a49
mov word [0x10fab9d4], di
mov ecx, dword [ebx + 0x118]
mov edx, dword [ecx + 0x58]
cmp dword [edx + 0x30], edi
jle 0x10986a49
xor eax, eax
lea ecx, [ecx]
mov ecx, dword [0x10fac9e4]
imul eax, eax, 0x148
mov edx, dword [ecx + 0x58]
mov ecx, dword [edx + 0x2c]
mov esi, dword [ecx + eax + 0xf0]
mov edx, dword [esp + 0x18]
lea eax, [ecx + eax + 0xf0]
or esi, edx
mov dword [eax], esi
mov ax, word [0x10fab9d4]
inc ax
mov word [0x10fab9d4], ax
mov ecx, dword [ebx + 0x118]
mov edx, dword [ecx + 0x58]
mov ecx, dword [edx + 0x30]
movzx eax, ax
cmp eax, ecx
jl 0x10986a00
mov esi, dword [0x10fac9e4]
mov eax, dword [esi + 0x58]
mov edx, dword [eax + 0x30]
xor ecx, ecx
cmp edx, edi
jle 0x10986a81
xor edx, edx
lea ecx, [ecx]
mov eax, dword [eax + 0x2c]
mov dword [eax + edx + 0x104], ecx
mov esi, dword [0x10fac9e4]
mov eax, dword [esi + 0x58]
mov ebp, dword [eax + 0x30]
inc ecx
add edx, 0x148
cmp ecx, ebp
jl 0x10986a60
cmp dword [esp + 0x1c], edi
je 0x10986aa9
mov edx, dword [ebx]
push 1
push edi
push esi
mov ecx, ebx
call dword [edx + 0x1d8]
mov ecx, dword [0x10fac9e4]
mov eax, dword [ebx]
push 1
push edi
push ecx
mov ecx, ebx
call dword [eax + 0x1e4]
mov ebx, dword [ebx + 0x12c]
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 0x78]
mov ecx, dword [0x10fcccac]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea ecx, [esp + 0x1d4]
push str.EXPORT
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10986b89
mov edx, dword [esp + 0x1d4]
push 0
push 0x100
push 0x10fac1e0
push str.FILE
push edx
call fcn.109b9410
add esp, 0x14
test eax, eax
je 0x10986b61
mov ecx, dword [0x10fcccac]
mov eax, dword [ecx]
push 1
push str.Exporting_brush
call dword [eax + 0xc]
mov ecx, dword [0x10fac9e4]
mov edx, dword [ecx + 0x58]
push 0
push 0
push 0x10fac1e0
push 0
push edx
call fcn.109decc0
mov ecx, dword [0x10fcccac]
mov eax, dword [ecx]
add esp, 0x14
call dword [eax + 0x10]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
mov ecx, dword [esp + 0x1d8]
push str.Missing_filename
push 0x300
call fcn.109bad60
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea ecx, [esp + 0x1d4]
push str.MERGEPOLYS
push ecx
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10986c57
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
push 1
push 0x10e43c3c
call dword [edx + 0xc]
mov eax, dword [ebx + 0x114]
mov eax, dword [eax + 0x34]
xor edi, edi
test eax, eax
jle 0x10986c2c
mov ebp, 0x8000
lea esp, [esp]
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
push str.Merging_polys_on_selected_brushes
push eax
push edi
push ecx
call dword [edx + 0x14]
mov eax, dword [ebx + 0x114]
mov ecx, dword [eax + 0x30]
mov esi, dword [ecx + edi*4]
add esp, 0x10
test esi, esi
je 0x10986c1e
test dword [esi + 0x350], ebp
je 0x10986c1e
mov ecx, esi
call fcn.1097da00
test eax, eax
je 0x10986c1e
mov eax, dword [esi + 0x258]
mov edx, dword [ebx]
push 1
push 1
push eax
mov ecx, ebx
call dword [edx + 0x1e4]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ecx + 0x34]
inc edi
cmp edi, eax
jl 0x10986bd0
mov eax, dword [ebx + 0x114]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0xf0]
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
call dword [edx + 0x10]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c0
ret 8
lea eax, [esp + 0x1d4]
push str.SEPARATEPOLYS
push eax
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10986cfd
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
push 1
push 0x10e43c3c
call dword [edx + 0xc]
mov eax, dword [ebx + 0x114]
mov eax, dword [eax + 0x34]
xor esi, esi
test eax, eax
jle 0x10986c2c
mov ebp, 0x8000
lea ebx, [ebx]
mov ecx, dword [0x10fcccac]
mov edx, dword [ecx]
push str.Separating_polys_on_selected_brushes
push eax
push esi
push ecx
call dword [edx + 0x14]
mov eax, dword [ebx + 0x114]
mov ecx, dword [eax + 0x30]
mov edi, dword [ecx + esi*4]
add esp, 0x10
test edi, edi
je 0x10986cea
test dword [edi + 0x350], ebp
je 0x10986cea
mov ecx, edi
call fcn.1097da00
test eax, eax
je 0x10986cea
mov eax, dword [edi + 0x258]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x1e8]
mov ecx, dword [ebx + 0x114]
mov eax, dword [ecx + 0x34]
inc esi
cmp esi, eax
jl 0x10986ca0
jmp 0x10986c2c
lea eax, [esp + 0x1d4]
push str.STATIC_IMPORT
push eax
call fcn.109baaf0
add esp, 8
test eax, eax
je 0x10986d35
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1d4]
push ecx
push edx
mov ecx, ebx
call fcn.109b0b80
test eax, eax
jne 0x10986b77
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c0
ret 8